1. 程式人生 > >淺拷貝造成的記憶體 被重複釋放

淺拷貝造成的記憶體 被重複釋放

很簡單,你std::vector<Room, std::allocator<Room> >
這個,改成std::vector<Room* >
存指標,不要存物件。
vector會重建,析構和再分配過程中,你的析構和拷貝建構函式沒寫好,就會出問題。
顯然你在這個過程中出現了淺拷貝現象。
就算你Room的析構構造寫對了,也還是推薦存指標,這樣效率也高得多。