methaneのブログ

このブログに乗せているサンプルコードはすべてNYSLです。

プログラミング言語C++第3版読み中

ひげぽんさんに触発されて、積ん読していたプログラミング言語C++を読み始めた。
一気にスタバで読む・・・のはきついので、少しずつだけど。

とりあえず、誤解していたところを発見。
sizeof演算子は、「何バイト」ではなくて「char何個分」でサイズを返す。charが32bitな環境(32bit整数しか使えないDSPではcharからlongまで32bitだったりする)では、sizeof(long)==1になるんだ。
charが最小単位になっているので、sizeof(int8_t)が1でsizeof(char)が2なんていう環境はありえない。
なんとなく今まで、「charは1バイト」を仮定してプログラムを書くことに罪悪感があったのだが、「intは4バイト」に比べたらずっと一般的に通用する仮定なので、これからは安心してcharが1バイトであることに依存したコードを書こう。