2
現在,我的實現按值返回事物。成員m_MyObj
本身不是const
- 其值取決於用戶使用組合框選擇的內容。我不是C++大師,但我想這樣做。如果我簡單地在GetChosenSourceSystem
之前在decl中粘貼&
。和impl。,我得到一種編譯器錯誤。如果我做一個而不是另一個 - 另一個錯誤。如果我做return &m_MyObj;
。除非有強烈的需求,否則我現在不會列出錯誤。我假設一位經驗豐富的C++編碼人員可以告訴我們這裏發生了什麼。我可以忽略常量或引用,但是我想在這個過程中使它變得緊湊並且學習。const訪問器的語法參考
// In header file
MyObj GetChosenThingy() const;
// In Implementation file.
MyObj MyDlg::GetChosenThingy() const
{
return m_MyObj;
}
你是對的+ 1 – codaddict 2010-04-15 18:08:09
要記住的另一件事。如果,正如我所假設的那樣,m_MyObj是MyDlg的數據成員,請確保該引用不再保留在返回它的對象周圍。如果您嘗試訪問已刪除對象的成員,則不會發生任何問題。 – KeithB 2010-04-15 18:44:51
謝謝,會做。 – 2010-04-15 19:20:04