做了好几年C++,自以为对基础知识掌握得很透彻了,没想到被一个小学妹个推翻了。
C++可以用变量定义静态数组么?不能,我很确定。可是,用gcc竟然能编译通过用变量定义数组的代码。
sizeof是在编译时决定的,还是在运行是决定的?编译时,我很确定。可是gcc编译后的运行结果竟然是运行时。
网上查查,大多数人和我一样。
原来是C99的标准增加了不定长数组(variable length array)。
详细资料:
http://topic.csdn.net/u/20090227/01/fc1f0eb1-6ffc-48ad-af6a-2de757b36059.html
http://blog.linjian.org/articles/sizeof-interesting-problems/