Skip to main content

std::deque pop_back() method

// Non const version only
void pop_back();

Removes the last element of the container.

Undefined Behavior

Calling pop_back on an empty container results in undefined behavior

.

Invalidation

Iterators and references to the erased element are invalidated.
The past-the-end iterator is also invalidated.
Other references and iterators are not affected.

Parameters

(none)

Return value

(none)

Complexity

Constant - O(1).

Exceptions

(none)

Example

Main.cpp
#include <deque>
#include <iostream>

template<typename T>
void print(T const & xs)
{
std::cout << "[ ";
for(auto const & x : xs) {
std::cout << x << ' ';
}
std::cout << "]\n";
}

int main()
{
std::deque<int> numbers;

print(numbers);

numbers.push_back(5);
numbers.push_back(3);
numbers.push_back(4);

print(numbers);

numbers.pop_back();

print(numbers);
}
Output
[ ]
[ 5 3 4 ]
[ 5 3 ]
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.

std::deque pop_back() method

// Non const version only
void pop_back();

Removes the last element of the container.

Undefined Behavior

Calling pop_back on an empty container results in undefined behavior

.

Invalidation

Iterators and references to the erased element are invalidated.
The past-the-end iterator is also invalidated.
Other references and iterators are not affected.

Parameters

(none)

Return value

(none)

Complexity

Constant - O(1).

Exceptions

(none)

Example

Main.cpp
#include <deque>
#include <iostream>

template<typename T>
void print(T const & xs)
{
std::cout << "[ ";
for(auto const & x : xs) {
std::cout << x << ' ';
}
std::cout << "]\n";
}

int main()
{
std::deque<int> numbers;

print(numbers);

numbers.push_back(5);
numbers.push_back(3);
numbers.push_back(4);

print(numbers);

numbers.pop_back();

print(numbers);
}
Output
[ ]
[ 5 3 4 ]
[ 5 3 ]
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.