私は奇妙な問題に直面していて、私のmac osx lionで作業しています(xcode4 / clangの下で、gcc4.2で再現可能ですが)。
unsignedchar変数に127を超える値を割り当てることはできないようです。だから、私が割り当てるとき
v = (unsigned char) 156;
または、単に
std::cout << (unsigned char) 231 << std::endl;
私のプログラムは出力を生成しません。
このコードを実行すると
std::cout << "Unsigned chars range up to " << UCHAR_MAX << std::endl;
次の出力が得られます。
符号なし文字の範囲は最大255です
ただし、このようなものを実行すると、プログラムは毎回異なる任意の値(c = 114、c = 252など)までの出力を生成します。for(unsigned char c = 0; c <CHAR_MAX; c ++)std :: cout << "c =" << 2 * c << std :: endl;
CHAR_MAXをUCHAR_MAXに変更すると、プログラムは再び出力なしで終了します:(
前もって感謝します