常量指針和指針常量

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成員函數可能會修改變量

相關文章
相關標籤/搜索