const在C/C++中有许多的用语,谢鲁瓦const的用语做如下表所示归纳。
1、const润色表达式
const润色表达式,能使表达式具备常特性,也是该表达式在之后的采用中其值都无法展开发生改变。
在这儿要特别注意的一点儿就是const润色的表达式要展开调用。
2、const和操作符
用const润色操作符有下列三种情形
3、为保护表达式模块不被发生改变
但通常const修饰的模块都有什么样呢?
通常用提及或是传门牌号的形式给表达式传达两个模块,假如在表达式胃部对该模块展开修正,所以就会连std的值通通展开修正。
4、const润色表达式codice
const润色表达式的codice,避免表达式的返回值被修正
但这儿要特别注意的是,必须也用const润色的表达式来接收这个表达式的codice。
5、const润色类成员表达式
const能润色类成员表达式,避免类成员表达式中除了static成员之外的其他成员被修正。
6、const润色类的成员表达式
类的成员表达式能分为静态的和非静态的,假如const润色的是静态的成员表达式,能在构造表达式中对该表达式展开调用;假如const润色的是静态的成员表达式,则需要在类外对该表达式展开调用。
7、const和#define的区别
#define A 10
const int A=10;
上面两条语句的作用是一样的,但后面一条语句能节省内存空间,这是为什么呢?
原因在于在程序中多次采用const类型的表达式,只会在第一次分配内存,但假如采用#define定义的宏,则每次都会分配内存,这样看来采用const会节省许多空间。
8、const和extern
file1.cpp中, const int a;
file2.cpp中, extern int a; //错误,无法调用,
说明const润色大的表达式只能在该程序的本文件中采用,无法在该程序的其他文件中采用。
要想const定义的对象表达式能被其他文件调用,定义时必须采用extern润色为
extern const int val;