名前空間
変種
操作

std::basic_string<CharT,Traits,Allocator>::pop_back

From cppreference.com
< cpp‎ | string‎ | basic string
 
 
 
std::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) [編集]
English 日本語 中文(简体) 中文(繁體)