函式名前後加const修飾符的區別
1) 函式名前加const
const int Func() {}
含義:返回值不可修改
2) 函式名後加const
int Func const () {}
含義:const修飾的是類函式隱藏的第一個引數 this指標,這表明this指標只讀,也即類成員不可修改
注意該用法只能是成員函式,要是類的靜態函式或者是非成員函式就不可以在函式名後面加上const
應用場景:當該類的例項被宣告為const時,通過該例項呼叫成員函式時,如果被呼叫的函式名後沒有const,則會報錯,不然編譯器會認為函式呼叫可能會修改類成員,與前面對類例項的const宣告產生衝突
參考:
http://www.iteblog.com/archives/214
相關推薦
函式名前後加const修飾符的區別
1) 函式名前加const const int Func() {} 含義:返回值不可修改 2) 函式名後加const int Func const () {} 含義:const修飾的是類函式隱藏的第一
C++ 成員函數前和函數後加const修飾符區別
試圖 第一個 tpc 編譯 即使 一段 tab 限制 解決 博客轉載自: https://www.iteblog.com/archives/214.html 分析以下一段程序,闡述成員函數後綴const 和 成員函數前const 的作用 #include<iostr
一個函式名後面加const表示什麼意思?
const用在成員函式後 主要是針對類的const 物件 如: class Text{ public: void printconst(void)const{cout<<"hello"<<endl;} void print(void)
C++:函式名後加const
class MyClass { public: int GetData(int Id,int Type,char* pData)const; } 通過把類成員函式宣告為const 以表明它們不修改類物件。 任何不會修改資料成員的函式都應該宣告為cons
【C語言】函式引數中的const修飾符
通常,字串操作函式原型中,都會在形參前面加上const修飾符,表示此指標不能用於修改字串的值 比如:char *strcpy(char *strDest, constchar *strSrc)
C\C++中函式後面加const修飾
我們定義的類的成員函式中,常常有一些成員函式不改變類的資料成員,也就是說,這些函式是"只讀"函式,而有一些函式要修改類資料成員的值。如果把不改變資料成員的函式都加上const關鍵字進行標識,顯然,可提高程式的可讀性。其實,它還能提高程式的可靠性,已定義成con
C++函式後面加const修飾
給隱含的this指標加const,表示這個this指向的東西是const的,也就是說這個函式中無法改動資料成員了。const是一種保證,告訴你這個成員不會改變物件的狀態。 宣告一個成員函式的時候用const關鍵字是用來說明這個函式是 “只讀(read-only
函數後面的const修飾符的作用
href spa .net 成員 div 調用 his color fun 比如 void Fun() const; 的const是修飾什麽的? 其實是修飾this指向的對象的。 這篇文章很詳細的說明了const的作用,其中第三點說明了這種const的作用:const的
C#中的overrid和new修飾符區別(代碼)
之間 using stat ide post 不同的 虛擬 spa 代碼 在C#的繼承中嘗嘗會用到相關的修飾詞:override和new。這兩個修飾符都可以在新的子類中,重寫同名的父類方法。 override: 擴展或修改繼承的方法、屬性、索引器或事件的抽象或虛擬
java中四種訪問修飾符區別及詳解全過程
HP dnv ax1 pci gda fmm utc dos rdp 客戶端程序員:即在其應用中使用數據類型的類消費者,他的目標是收集各種用來實現快速應用開發的類。 類創建者:即創建新數據類型的程序員,目標是構建類。 訪問控制存在的原因:a、讓客戶端程序員無法觸
const修飾符、const與指標一起使用(C++學習筆記 6)
一、 在C++中使用const修飾符來定義常量。(const來自單詞constant,是常量的意思) 用法:const 型別 常量名 = 表示式; 例如:const int LIMIT = 100; 這個常量LIMIT是有型別的,佔用儲存單元,有地址,可以用指標指向它,但不能修改它。
c++ const修飾符用法整理
1、什麼是const? 常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。(當然,我們可以偷樑換柱進行更新:) 修改常量:加mutable mutable class A { public: A(int i=0):test(i) { }
函式名前加 & 符號的深入理解 C++
#include <iostream> using namespace std; int& test_str() { int a = 1; return a; //通過返回 a 的地址來進行 值的返回(即 a的地址中所儲存的值) } int ff(in
const修飾符的應用
const:限定修飾符,被所修飾的物件不能被修改。 const的幾種應用場合 1.const int a=5; 即是a的值是不可修改的。 2.const int *p=&a; 指標p的值不能變而指標可以移動。說白了就是p所儲存的地址對應的值不能被修改,但
Java 四種訪問修飾符區別
在Java程式語言中有四種許可權訪問控制符,這四種訪問許可權的控制符能夠控制類中成員的可見性。 一、public (1)定義:public是公共的,被public所修飾的成員可
彙編中呼叫C中的函式,函式名前加下劃線“_”
之前見過這種用法,但是不太清楚為什麼,就以為是約定俗成,其實也算是約定俗成,這樣做的目的是為了防止符號名衝突,因為在一個程式中往往是包含彙編和C檔案的,彙編用於啟動部分,C檔案用於應用程式,最終通過編譯器實現編譯,對於編譯器來說,彙編和C是一視同仁的,那麼就會有個問題,
給元件繫結原生事件加native修飾符(Vue)
<body> <div id="root"> <child @click.native="handleClick"></child> </div> <script>
const修飾符的使用(修飾結構體指標,引用外部的const 變數)
const修飾符的使用 //const修飾變數為只讀 const int a = 10; a = 20;//是錯誤的賦值 //指標變數 指標指向的記憶體 兩個不同的概念 char buf[]
const修飾符總結
1、什麼是const? 常型別是指使用型別修飾符const說明的型別,常型別的變數或物件的值是不能被更新的。(當然,我們可以偷樑換柱進行更新:) 2、為什麼引入const?const 推出的初始目的,正是為了取代預編譯指令,消除它的缺點,同時繼承它的優點。 3、c
關於函式名前加static的一些解釋
遇到有函式名前有加static的函式,不太懂什麼意思。上網查了一下,網上有兩種說法.現複製整理了一下,有興趣的可以看一下 說法一: 在函式的返回型別前加上關鍵字static,函式就被定義成為靜態函式。函式的定義和宣告預設情況下是extern的,但靜態函式只是在宣告他的檔案