引入const成員函式
class Person {
public:
Person(string s, string a);
string PerName;
string PerLive;
const string& GetName() const { return PerName; }//(1)
string GetLive() const { return PerLive; }//(2)僅舉例正常應該跟(1)一樣
};
上述例子:
(2)中在引數列表後的const是限制函式不能修改資料成員。但是因為返回是按值返回的,所以會產生拷貝。會產生拷貝開銷。
(1)中後面const與(2)作用相同,函式返回常量引用的好處有:
1、不產生拷貝開銷。因為返回引用的函式返回的是物件本身而非物件的副本。
2、增加程式設計靈活性,我們無法用一個普通引用去繫結一個常量。所以宣告時候可以宣告為常量引用,即使繫結了一個非常量,也可以對其進行修改。(一般不建議修改)
3、可以返回左值,我們能為返回型別是非常量引用的函式的結果賦值。
正在學習c++, 暫時瞭解的有這麼多,歡迎指正與補充!
相關文章
- c++ const 成員函式C++函式
- C++ 中的 const 物件與 const 成員函式C++物件函式
- C++ 類成員函式C++函式
- C++:類的成員函式C++函式
- 如何使用成員函式指標函式指標
- [C++] 成員函式指標和函式指標C++函式指標
- 深入C++成員函式及虛擬函式表C++函式
- 類內的靜態成員函式函式
- 膨脹的template class成員函式函式
- C++ 成員資料指標成員函式指標簡單測試C++指標函式
- OpenCV(cv::Mat 類的成員函式 ptr<T>())OpenCV函式
- c++智慧指標中的reset成員函式C++指標函式
- C++ 成員函式指標簡單測試C++函式指標
- 類别範本中成員函式建立時機函式
- C++特殊成員函式及其生成機制C++函式
- 函式計算工具鏈新成員——FunLocal釋出啦函式
- 函式呼叫時用const保護指標函式指標
- C++學習筆記(三):類與物件--靜態成員變數與常成員函式C++筆記物件變數函式
- 函式計算工具鏈新成員 —— Fun Local 釋出啦函式
- 繼承關係裡的六個預設成員函式繼承函式
- 類成員函式作為map容器的value使用例項函式
- 結構體三種例項化方法(含成員函式)結構體函式
- C++中函式後面加const修飾C++函式
- var、let、const、解構、展開、new、this、class、函式函式
- STL區間成員函式及區間演算法總結函式演算法
- QImage:使用QImage建構函式載入影像和使用成員函式loadFromData載入影像的區別函式
- C++ 建構函式 explicit 關鍵字 成員初始化列表C++函式
- 類别範本及其成員函式的定義及注意事項函式
- C++(常量成員函式)C++函式
- ConcurrentHashMap(一):常量,成員變數,靜態程式碼塊,內部類,spread函式,tabAt函式等詳解HashMap變數函式BAT
- 對於靜態成員來說是類的建構函式,對於例項成員是類的原型物件。函式原型物件
- 變數和函式宣告提升,let和var const區別變數函式
- Excel函式公式大全,辦公文員必備Excel函式公式Excel函式公式
- C++函式名後面有個constC++函式
- C++共享之道:用extern實現原始檔變數與類成員函式的巧妙共享C++變數函式
- 帝國cms會員中心二開常用函式函式
- const * and * const
- font-class引入css樣式,引入字型圖示CSS