2017-07-04 43 views
0

我對此感到困惑,即pop_back()std :: list方法沒有返回值,但是我怎樣才能從某個列表中獲取值並將其存儲在另一個列表中,例如int列表?我想這很簡單,但我不熟悉C++,我試圖找到解決方案,但也許在這裏我可以得到具體的答案,關於如何做到這一點。pop_back()返回值在std :: list?

+2

在這裏你去:http://en.cppreference.com/w/cpp/container/list – juanchopanza

+1

的std ::目錄::回() –

+0

@NeilButterworth感謝,這正是我需要的。 – Lazar

回答

2

pop_back()返回對已刪除元素的引用將不可取,因爲引用會立即導致無效元素。如果您想將列表的最後一個元素複製到另一個元素,然後從第一個列表中刪除該元素,則可以使用下面的代碼。如果您不需要刪除元素,只需省略對std :: list :: pop_back()的調用即可。

std::list<int> firstList{1, 2, 3, 4, 5, 6}; 
std::list<int> secondList{1, 2, 3, 4}; 
secondList.push_back(firstList.back()); //the 6 from firstList has now been copied to secondList 
firstList.pop_back(); //the 6 from firstList has now been removed 
+1

謝謝@泰勒劉易斯 – Lazar