一、C中const的用法总结起来主要分为以下两种:
在定义变量时使用(注意:在定义变量时使用const,一定要进行初始化操作):
最简单的用法,说明变量为一个常变量:
const int a=100;
int const b=100;
说明指针为指向常数的指针,即指针本身的值是可以改变的:
const int *a=&b;
int const *a=&b;
说明指针本身的值不可改变,但指向的内容可改变:
int * const a = &b;
说明指针为指向常数的常指针,即指针本身与指针指向的内容都不可改变:
const int * const a = &b;
说明引用为常数引用,即不能改变引用的值:
const int &a=100。
在定义函数时使用:
做为参数使用,说明函数体内是不能修改该参数的:
void func(const int a);
void func(int const a);
做为返回值使用,说明函数的返回值是不能被修改的:
const int func();
在函数中使用const,情况与定义变量的情况基本一致:
int func()
{
Const int a=10;
…
}
二、C++中区别于C的const用法主要分为以下两种
const类成员
const类成员在对象构造期间允许被初始化并且在以后不允许被改变。const类成员和一般的const 变量有所不同。const类成员是对应于每个对象而言,它在对象构造期间被初始化,在这个对象的生存周期中不允许被改变。
const 成员函数
const 成员函数不允许在此函数体内对此函数对应的类的所有成员变量进行修改,这样可以提高程序的健壮性。Const一般放在函数体后:
void fun() const。