2017-07-04 56 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