const無處不在!

2021-09-14 06:00:08 字數 1293 閱讀 2389

在c++的函式定義中,到處都是const關鍵字的使用

比如下面這段**將const的各種應用場景都揉到一起了:

#include#includeusing namespace std;

/* * const修飾函式引數

* * const int i1:引數是常量,不允許在函式中修改這個引數

* const int* i2:引數指標所指的內容為常量不可變

* int* const i3:引數指標本身是常量,不可變

* const int& i4:引數為引用,增加效率(不用拷貝引數)同時防止修改

* * 其實和const修飾變數是一樣的效果

*/void func_param( const int i1,

const int* i2,

int* const i3,

const int& i4 )

/* * const修飾函式返回值

* const int func_ret_1(),沒啥意義,因為返回值本身就是賦值

* const int* func_ret_2(),把func_ret_2()看成乙個變數,指標內容不可變

* int const* func_ret_3(),把func_ret_3()看作成乙個變數,即指標本身不可變

*/const int func_ret_1()

const int* func_ret_2()

int* const func_ret_3()

/* * const在類中的應用

*/class testconst

~testconst()

/* * const修飾類成員函式

*/private:

//普通變數

int ivar;

//非const成員函式

int testfunc()

public:

/** 常成員函式,它不能改變物件的成員變數

* 也不能呼叫類中任何非const成員函式

*/void testconstfunc() const

};int main()

編譯執行效果如下

上面通過注釋、執行結果已經將const關鍵字的各種應用場景進行了描述。完全可以認為是講解c++中const用法的乙份簡單參考手冊!

另外結合這篇《c++函式傳值返回和引用返回》一起閱讀效果會更好

系統無處不在

本書最大的啟示 西方的科學通常是一種不斷的從大到小範圍內進行不停的劃分,當把問題劃分到足夠小的時候就可以解決。但是本書是一種逆向的方式,以整體化和系統化的方式看待問題,尤其是將問題還原到系統中的觀點極其的獨特,有非常高的借鑑意義。系統化思維在自然和社會的方方面面都在發揮著重要的作用。我們在看待某個問...

數學無處不在

數學無處不在 基本資訊 叢書名 數學與人文 出版社 高等教育出版社 isbn 9787040345346 出版日期 2012 年5月 開本 16開 頁碼 1 版次 1 1 所屬分類 數學 更多關於 數學無處不在 內容簡介 數學書籍 本著叢書 讓數學成為國人文化的一部分 的宗旨,我們在本輯向讀者展示 ...

Cache無處不在

本文屬於備忘錄形式的,記錄了最近的一些收穫。在web世界裡,cache是無所不在的。客戶端的瀏覽器會針對訪問的網頁自動的快取一部分的靜態檔案,從而增加瀏覽的速度,這就是我們為什麼會在瀏覽器的臨時資料夾中發現大量莫名其妙檔案的理由。另外isp為了增加使用者的訪問速度,也會在中轉的伺服器中提供大量的快取...