C++const四种用法
生活随笔
收集整理的這篇文章主要介紹了
C++const四种用法
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
一、用const修飾函數參數
1、修飾指針,可以防止指針被修改
void test(const ClassA* a) {ClassA **b = &a; //編譯錯誤,對const指針取地址,需要用一個指向const指針的指針指向它const ClassA **c = &a; //正確,對const指針取地址,需要用一個指向const指針的指針指向它ClassA *d = a; //編譯錯誤,不能將const指針轉普通指針(*b) = new ClassA(); } void test2(ClassA *a) {ClassA **b = &a;(*b) = new ClassA(); }2、修飾普通類型,說明這個參數不應該被修改
void test(const int a) {a++; //編譯錯誤int* c= &a; //編譯錯誤,不能取地址,否則就具備了改a的能力int b = a; //不用強轉也可以編譯通過,但還是沒能力改a的值 }3、修飾引用類型,參數的值不能被修改, 也就失去了引用類型的效果,但傳遞對象時,可以起到不copy對象的目的。
void test(const int& a) {a = 2; //編譯錯誤,不能修改const引用類型的值 } void test(const ClassA& a) //傳遞的時候,不需要copy一個新的ClassA,又能保護a {}二、用const修飾局部或全局變量,功能類似函數參數
三、用const修飾函數返回值,說明函數的返回類型是const的,功能類似于函數參數
const int test() {int a = 1;return a; }四、用const修飾函數,說明函數不會修改成員變量的值
class ClassA { public:int b;int test() const{b = 3; //編譯錯誤,const修飾的函數不能修改類成員變量的值return b;} }總結
以上是生活随笔為你收集整理的C++const四种用法的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 视频技术系列 - 谈谈毫米波之二,应用篇
- 下一篇: 升压芯片很简单(一),快速选择升压芯片+