私はプログラムに取り組んでいて、奇妙な、cout関連の問題があります。プログラムが少し大きかったので、コードが最もよく話すので、関連するスニペットを貼り付けます。私はcoutの出力は型キャストの方法に従って変化します
facet* facet_to_work_on = *it;
cout << facet_to_work_on->facet_id << "\t";
は素敵な整数を出力表現を使用する場合
まず、私は、のためのこの
として
for(vector<facet*>::iterator it=facets_to_dump->begin(); it<facets_to_dump->end(); it++)
のために定義されたイテレータ、*it
を持っています。
しかし、私は表記
cout << (facet*)(*it)->facet_id << "\t";
を使用する場合は、このコードでは、進値を出力します。 16進値は整数値に等しい。なぜこれが起こっているのか?
ありがとうございます。あなたは、小数点形式で数字をしたいと言って
cout << dec << (facet*)(*it)->facet_id << "\t";
:<iomanip>
とを含む
ああ、それは理にかなっている。どうもありがとう! – bayindirh