Namespaces
Variants

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

From zh.cppreference.net

void pop_back ( ) ;
(自 C++20 起为 constexpr)

移除容器的最后一个元素。

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

(C++26 前)

如果 empty() 为 true :

  • 若实现为 强化实现 ,则发生 契约违反 。此外,若契约违反处理程序在“观察”评估语义下返回,则行为未定义。
  • 若实现非强化实现,则行为未定义。
(C++26 起)

指向最后一个元素的迭代器和引用都会失效。 end() 迭代器同样会失效。

复杂度

常量。

示例

#include <vector>
#include <print>

int main()
{
    std::vector<int> numbers{1, 2, 3};
    for (; not numbers.empty(); numbers.pop_back())
        std::println("{}", numbers);
}

输出:

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

参见

向末尾添加元素
(公开成员函数)