std::basic_string<CharT,Traits,Allocator>::pop_back
来自 cppreference.com
< cpp | string | basic string
void pop_back(); |
(自 C++20 起为 constexpr) | |
从字符串中删除最后一个字符。
等效于 erase(end() - 1)。如果字符串为空,则行为未定义。
内容 |
[编辑] 参数
(无)
[编辑] 返回值
(无)
[编辑] 复杂度
恒定。
[编辑] 异常
不抛出任何异常。
[编辑] 备注
在 libstdc++ 中,pop_back()
在 C++98 模式下不可用。
[编辑] 示例
运行此代码
#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 }
输出
Before: "Short string!" After: "Short string"
[编辑] 缺陷报告
以下行为更改的缺陷报告已追溯应用于先前发布的 C++ 标准。
DR | 应用于 | 已发布的行为 | 正确行为 |
---|---|---|---|
LWG 534 | C++98 | std::basic_string 没有成员函数 pop_back() |
添加 |
[编辑] 另请参阅
将字符附加到末尾 (公有成员函数) | |
删除字符 (公有成员函数) |