为什么pop_back()
没有返回值?我对此进行了谷歌搜索,发现它使其更有效。这是在标准中这样做的唯一原因吗?
最佳答案
我认为有一个事实与事实有关,即复制最后一个对象的实例可能会引发异常。这样做时,您将丢失对象,因为pop_back()确实将其从容器中删除了。用几行代码更好:
std::vector<AnyClass> holds = {...} ;
try {
const AnyClass result = holds.pop_back(); // The copy Ctor throw here!
} catch (...)
{
// Last value lost here.
}
关于c++ - pop_back()返回值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12600330/