std::basic_string<CharT,Traits,Allocator>::pop_back
来自cppreference.com
< cpp | string | basic string
void pop_back(); |
(C++20 起为 constexpr ) |
|
从字符串移除末字符。
等价于 erase(end() - 1)。
如果 empty() 是 true,那么行为未定义。 |
(C++26 前) |
如果 empty() 是 true,那么: |
(C++26 起) |
目录 |
[编辑] 复杂度
常数。
[编辑] 异常
不抛出。
[编辑] 注解
libstdc++ 中,pop_back()
在 C++98 模式中不可用。
[编辑] 示例
运行此代码
#include <cassert> #include <iomanip> #include <iostream> #include <string> int main() { std::string str("Short string!"); std::cout << "前:" << std::quoted(str) << '\n'; assert(str.size() == 13); str.pop_back(); std::cout << "后:" << std::quoted(str) << '\n'; assert(str.size() == 12); str.clear(); // str.pop_back(); // 未定义行为 }
输出:
前:"Short string!" 后:"Short string"
[编辑] 缺陷报告
下列更改行为的缺陷报告追溯地应用于以前出版的 C++ 标准。
缺陷报告 | 应用于 | 出版时的行为 | 正确行为 |
---|---|---|---|
LWG 534 | C++98 | std::basic_string 没有成员函数 pop_back()
|
已添加 |
[编辑] 参阅
后附字符到结尾 (公开成员函数) | |
移除字符 (公开成员函数) |