Namespaces
Variants
Views
Actions

Difference between revisions of "cpp/container/vector/pop back"

From cppreference.com
< cpp‎ | container‎ | vector
m (Shorten template names. Use {{lc}} where appropriate.)
m (langlinks)
 
Line 1: Line 1:
 
{{include page|cpp/container/pop_back|vector}}
 
{{include page|cpp/container/pop_back|vector}}
  
[[de:cpp/container/vector/pop back]]
+
{{langlinks|de|es|fr|it|ja|ko|pt|ru|zh}}
[[es:cpp/container/vector/pop back]]
+
[[fr:cpp/container/vector/pop back]]
+
[[it:cpp/container/vector/pop back]]
+
[[ja:cpp/container/vector/pop back]]
+
[[pt:cpp/container/vector/pop back]]
+
[[ru:cpp/container/vector/pop back]]
+
[[zh:cpp/container/vector/pop back]]
+

Latest revision as of 15:14, 10 November 2021

 
 
 
 
void pop_back();
(constexpr since C++20)

Removes the last element of the container.

Calling pop_back on an empty container results in undefined behavior.

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

Contents

[edit] Parameters

(none)

[edit] Return value

(none)

[edit] Complexity

Constant.

[edit] Exceptions

Throws nothing.

[edit] Example

#include <vector>
#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::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]