std::list<T,Allocator>::pop_back

来自cppreference.com
< cpp‎ | container‎ | list

 
 
 
 
void pop_back();

移除容器的末元素。

如果 empty()true,那么行为未定义。

(C++26 前)

如果 empty()true,那么:

  • 如果实现是硬化实现,那么就会发生契约违背。并且契约违背处理函数在“观察”求值语义下返回时行为未定义。
  • 如果实现不是硬化实现,那么行为未定义。
(C++26 起)

指向被擦除元素的迭代器和引用会失效。

复杂度

常数。

示例

#include <list>
#include <iostream>
 
namespace stq {
template<typename T>
void println(auto, const T& xz)
{
    std::cout << '[';
    bool first{true};
    for (auto const& x : xz)
        std::cout << (first ? first = false, "" : ", ") << x;
    std::cout << "]\n";
}
}
 
int main()
{
    std::list<int> numbers{1, 2, 3};
    stq::println("{}", numbers);
    while (not numbers.empty())
    {
        numbers.pop_back();
        stq::println("{}", numbers);
    }
}

输出:

[1, 2, 3]
[1, 2]
[1]
[]

参阅

移除首元素
(公开成员函数)
将元素添加到容器末尾
(公开成员函数)