int num = 1024;
const int num2 = num1; //只能第一次赋值
num2 = 2048 // 报错
const int * p = # //const 在 * 前面时,指针的位置可以修改,但不能通过指针修改指向的变量
int const * p = # //同上
int * const p = #//const 在 * 后面时,指针的位置不可以修改,但可以通过指针修改指向的变量
int const * const p = &num //const 在 * 两侧时,指针的位置不可以修改,也不能通过指针修改指向的变量
void fun(const int num) //函数体内不可以修改num的值
{
}
void fun(const object &o) //不能修改o的成员变量,也不能调用o的非const成员函数 ,不需要o的一个副本,提高效率
{
}
const Object & fun(const Object &o) //返回应用,不需要创建o的副本,提高效率
{
return o;
}
class Obj
{
public:
void modify() const //不能修改成员变量的值 cosnt成员函数可以被fun(const object &o)调用
{
a = 1;//报错
}
private:
int a;
}