1.const int a=20 和 int const a=20
它们两个的实际意义是一样的,a可以称作符号常量,代表20这个数。
2.int func1(int value) const
表示成此成员函数不会对成员变量造成改动. 如果编译器发现这种可能, 会报错;
如果不是某个类的成员函数而这样写的话,也会报错。
3.const int func2(int value)
表示这个函数的返回值是const型的,返回值不可以被改变。
4.void func(const int i)
即i不允许被修改。如果在上面函数体内部出现i=10;则会报错。
5.const int *A 与int const *A
与上面的1类似,两者意义相同,都表示:const修饰指针指向的对象,所以A可变,但A指向的对象不可变。
6.int *const A
表示A不可变,但A指向的对象可以变。
7.const int *const A
表示A和A指向的对象都不可以变。
8.extern const int i;
OK。表示在另一连接文件中引用const常量。
extern const int i=10;
ERROR。常量不可以被再次赋值。