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;
}