C++一开始被本贾尼·斯特劳斯特卢普(Bjarne Stroustrup)发明时,起初被称为“C with Classes”,即「带类的C」。
很明显它是在C语言的基础上扩充了类class等面向对象的特性和机制。但是后来经过一步步修订和很多次演变,最终才形成了现如今这个支持一系列重大特性的庞大编程语言。
这时候的a就只是一个普通的C语言的const常变量了,已经无法当数组的下标了。(引用了一个编译阶段不确定的值)
const在生成符号时,是local符号。即在本文件中才可见。如果非要在别的文件中使用它的话,在文件头部声明:externcosnt int data = 10;这样生成的符号就是global符号。
总结:C中的const叫只读变量,只是无法做左值的变量;C++中的const是真正的常量,但也有可能退化成c语言的常量,默认生成local符号。