std::basic_string<CharT,Traits,Allocator>::pop_back
From 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() がありませんでした。 |
追加された |
[編集] 関連項目
| 末尾に文字を追加する (public member function) | |
| 文字を削除する (public member function) |