[問題] 不要return reference to local object
開發平台(Platform): (Ex: VC++, GCC, Linux, ...)
devc++
問題(Question):
返回reference to a local object
我實際練習書上提供的範例 發現編輯的過
依造書上的說法在執行期會發生錯誤
在記憶體上儲存的空間 釋放掉 將不再具有意義
(c++ primer 4/e 中文版 p248底下)
問題是=>為什麼我編輯的過
程式碼(Code):(請善用置底文網頁, 記得排版)
/*擷取書上程式*/
const string &mainip(const string& s)
{
string ret=s;
return ret; //錯誤:返回a reference to a local object!
}
/*擷取書上程式*/
int main(){
cout<<mainip("abcdefghijklmnopqrstuvwxyz")<<endl;
}
※ 編輯: wasidada 來自: 125.230.138.101 (02/08 01:52)
※ 編輯: wasidada 來自: 125.230.138.101 (02/08 01:54)
→
02/08 02:06, , 1F
02/08 02:06, 1F
→
02/08 02:07, , 2F
02/08 02:07, 2F
推
02/08 02:36, , 3F
02/08 02:36, 3F
推
02/08 09:58, , 4F
02/08 09:58, 4F
→
02/08 10:03, , 5F
02/08 10:03, 5F
推
02/08 10:14, , 6F
02/08 10:14, 6F
→
02/08 10:14, , 7F
02/08 10:14, 7F
※ 編輯: wasidada 來自: 114.41.66.145 (02/09 01:29)
→
02/09 02:07, , 8F
02/09 02:07, 8F
→
02/09 08:23, , 9F
02/09 08:23, 9F
→
02/09 10:02, , 10F
02/09 10:02, 10F
→
02/09 15:03, , 11F
02/09 15:03, 11F
→
02/09 15:03, , 12F
02/09 15:03, 12F
→
02/09 16:25, , 13F
02/09 16:25, 13F
→
02/09 16:25, , 14F
02/09 16:25, 14F