C++ 定数について。
C言語では、マクロを用いて、
#define SIZE 5
とすれば、OKだった。
C++でも同じようにすることはできるが、スコープを狭くしたいと思った時は、
const int SIZE = 5;
とする。定数式なので、
int array[SIZE] = {1,2,3,4,5};
としても、エラーは出ない。
逆にconstを外してしまうと、
1>c:~main.cpp(22) : error C2057: 定数式が必要です。 1>c:~main.cpp(22) : error C2466: サイズが 0 の配列を割り当てまたは宣言しようとしました。
っていうエラーが出てしまい、NG
ちなみに、配列の大きさを求めたければ、
int size = sizeof List / sizeof *List;
か、
int size = sizeof List / sizeof List[0];
とすればOK.