c

const

c++ c

変更できない定数 const int a = 0; 変更できない定数 int const a = 0; 値を変更できない const int* a = 0; a = NULL; 値を変更できない int const* a = 0; a = NULL; 好き放題 *1 *2 int* a = NULL; 参照先を変更できない。const は 常に左側に係る int *…

コンパイル時点でプログラムの問題を見つける

c++ c

#define COMPILE_ASSERT(v) {char compile_assert_tmp[(v)!=0:1:0];(void)compile_assert_tmp[0];} static const size_t ValueMax = 100; static const size_t FirstValue = 1; COMPILE_ASSERT (FirstValue < ValueMax);

bit operatorの意図

c++ c

アンティークなプログラマーは、ビット演算を多用したがる。 現在のコンパイラでは、十分に速いコードを吐くので、 余計なことをせず読みやすいコードを書くべきだが、自分が書かなくても人が書く。 乗算・減算 const int a = 1024; const int b = a << 1; /…