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

来自cppreference.com
< cpp‎ | container‎ | deque
 
 
 
 
void pop_back();
(C++26 起为 constexpr)

移除容器的末元素。

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

(C++26 前)

如果 empty()true,那么:

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

指向最后元素的迭代器和引用失效。end() 迭代器也失效。

[编辑] 复杂度

常数。

[编辑] 示例

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

输出:

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

[编辑] 参阅

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