在c++的引用學習中,遇到一些問題,比如返回成員函式內部變數的引用,這個變數會在函式宣告週期結束的時候就被析構,然後返回了這個變數的引用就會出現乙個錯誤的記憶體的引用,具體例子入下:
// therefofc++.cpp : 定義控制台應用程式的入口點。
//#include "stdafx.h"
#include #include using namespace std;
string version1( string& s1, const string& s2); //return 拷貝
const string& version2(string& s1, const string& s2); //返回引用
const string& version3(string& s1, const string s2); //bad 設計
int _tmain(int argc, _tchar* argv)
string version1(string& s1, const string& s2)
const string& version2(string& s1, const string& s2)
const string& version3(string& s1, const string s2)
上面的例子中,當程式執行到最後的rsult賦值的時候,會把乙個空的引用賦值給result,在這裡就會出現空的指標的引用,會報乙個bad_ptr的錯誤,在日常寫程式的過程中,應該避免出現這樣的空指標的引用,千萬要注意不要返回區域性變數的引用,因為他的生命週期只到函式結束。
將引用用於類物件
將引用用作類物件,常用的做法是使用引用。例如 includeusing namespace std string version 1 const string s1,const string s2 接收兩個string引數這兩個引數 const string version2 string s1,c...
perl函式中的傳引用用法
自己的 sub inshash 1 close infile while key,value each ref hash field inshash tmp filenm src 2,hash field src perl中的是如何在函式中使用引用引數的。有時不想返回陣列或者其他形式,希望直接修改函...
C 中const用於函式過載
首先先回憶一下常成員函式 宣告 型別標誌符 函式名 參數列 const 說明 1 const是函式型別的一部分,在實現部分也要帶該關鍵字。2 const關鍵字可以用於對過載函式的區分。3 常成員函式不能更新類的成員變數,也不能呼叫該類中沒有用const修飾的成員函式,只能呼叫常成員函式。4 非常量物...