Scroll to navigation

std::basic_string::pop_back(3) C++ Standard Libary std::basic_string::pop_back(3)

NAME

std::basic_string::pop_back - std::basic_string::pop_back

Synopsis


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


Removes the last character from the string.


Equivalent to erase(end() - 1). The behavior is undefined if the string is empty.

Parameters


(none)

Return value


(none)

Complexity


Constant.

Exceptions


Throws nothing.

Notes


In libstdc++, pop_back() is not available in C++98 mode.

Example

// Run this code


#include <cassert>
#include <iomanip>
#include <iostream>
#include <string>


int main()
{
std::string str("Short string!");
std::cout << "before=" << std::quoted(str) << '\n';
assert(str.size() == 13);


str.pop_back();
std::cout << " after=" << std::quoted(str) << '\n';
assert(str.size() == 12);


str.clear();
// str.pop_back(); // undefined behavior
}

Output:


before="Short string!"
after="Short string"


Defect reports


The following behavior-changing defect reports were applied retroactively to
previously published C++ standards.


DR Applied to Behavior as published Correct behavior
LWG 534 C++98 std::basic_string did not have the member added
function pop_back()

See also


push_back appends a character to the end
(public member function)
erase removes characters
(public member function)

2024.06.10 http://cppreference.com