我認爲如果我先顯示我的代碼會更好,然後解釋我的問題。返回一個不是指針的映射值的引用
std::map<std::string, SManager> m_managers;
//SResourceManager is derived from SManager
SResourceManager& getResourceManager() { return m_managers["resource_manager"]->second; }
我試圖做的是恢復從SManager參考(這將是SResourceManager的副本),以便能夠在其他地方使用。我知道我可以使用像std :: shared_ptr這樣的東西,但是我寧願不要在這種情況下使用指針,因爲我想讓地圖中的SResourceManager可能發生變化,但是停留在那裏。有沒有辦法把這個值轉換成我實際可以返回的值?
謝謝
爲什麼'秒'返回一個指針:
所以,你可能喜歡的東西結了?除非你顯示'SManager',否則不明顯。 – juanchopanza
對不起,我錯過了。我將編輯帖子。 – Peter