1 常量指針:指的是指向常量的指針,指針的值能夠變,可是不能修改指向的值。c++
用來限定指針不能修改指向的值。好比:函數
int a;spa
const int *p;(const可在int以後)指針
p = &a;容許class
*p = 2;不容許test
2 指針常量:指的是指針的常量,不能夠改變指針的值,但能夠修改指向的類容。變量
用來限定不能修改指針指向的地址。好比:引用
int a,b;方法
int *const p = &a;(必須初始化)co
p = &b;不容許
*p = 2;容許
一般經過看 const在*的左邊仍是右邊來確認是常量指針仍是指針常量
3 指向常量的指針常量
int a = 1;
const int * const p = &a;
注意p必須初始化。否則既不能修改p的值,也不能修改p指向的值
4 c++成員函數聲明爲const,代表該函數不能修改爲員變量。聲明以下
class A
{
int bb;
public:
int set()const;
};
int A::set()const
{
bb = 1;//此處報錯
}
5 成員函數的返回值能夠是引用,但只能返回成員變量。此時,必需要令返回值是const
6 void test(const A &a){},假設有這樣一個函數,那麼在test函數內部只能調用a的const方法,由於非const成員函數可能會修改變量