Namespaces
Variants
Actions

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

From cppreference.com
< cpp‎ | container‎ | vector
 
 
 
 
void pop_back();
(constexpr since C++20)

Removes the last element of the container.

If empty() is true, the behavior is undefined.

(until C++26)

If empty() is true:

  • If the implementation is hardened, a contract violation occurs. Moreover, if the contract-violation handler returns under “observe” evaluation semantic, the behavior is undefined.
  • If the implementation is not hardened, the behavior is undefined.
(since C++26)

Iterators and references to the last element are invalidated. The end() iterator is also invalidated.

[edit]Complexity

Constant.

[edit]Example

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

Output:

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

[edit]See also

adds an element to the end
(public member function)[edit]
close