const变量在C和C++之中还是有不少区别的。在C中,const修饰的变量一般只当成“只读的”,而不是将其作为一个常量。因此如果像下面这样声明
const int SIZE; // legal in C不过在C++中,const修饰的变量都是常量,这和直接使用0,1,2...以及字符串”open file error!“一样,所以在声明的时候都需要赋值。
如果只是这样声明
const int SIZE; //illegal in C++是错误的。必须这样声明:
const int SIZE = 100; //legal in C++由于const修饰的变量在C中不能直接当成常量,所以如果在全局声明数组,不能使用const变量做下标。比如
const int SIZE = 100;
char buf[SIZE]; // illegal in C, but legal in C++
如果在C语言这样用就会报错——error: variably modified ‘buf’ at file scope。但是如果在C++中由于SIZE会当成常量存储在堆栈特殊的位置,所以可以正确使用。
本文深入探讨了C和C++中const变量的特性与使用区别,包括只读属性、常量属性、数组下标使用限制等,并通过实例展示了在不同语言环境下const变量的正确使用方式。
3万+

被折叠的 条评论
为什么被折叠?



