有人提议说在C/C++中,使用
sizeof(array) / sizeof(array[0]);
来获取数组的长度(C++中可以使用模板,进行类型匹配)这是不可行的。
<pre name="code" class="cpp">int a[60] = { 1, 2, 3, 4 };
cout<< sizeof(a);
输出为2400。
而如果程序更改为:
char a[] = { 1, 2, 3, 4 };
虽然大小的确是16,但是已经没有实际的意义了。
有人提议说在C/C++中,使用
sizeof(array) / sizeof(array[0]);
来获取数组的长度(C++中可以使用模板,进行类型匹配)这是不可行的。
<pre name="code" class="cpp">int a[60] = { 1, 2, 3, 4 };
cout<< sizeof(a);
输出为2400。
而如果程序更改为:
char a[] = { 1, 2, 3, 4 };
虽然大小的确是16,但是已经没有实际的意义了。