Namespaces
Variants

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

From cppreference.net
std::basic_string
CharT & back ( ) ;
(1) (constexpr since C++20)
const CharT & back ( ) const ;
(2) (constexpr since C++20)

文字列の最後の文字への参照を返します。

empty() true の場合、動作は未定義です。

(C++26まで)

empty() true の場合:

  • 実装が hardened されている場合、 contract violation が発生します。さらに、契約違反ハンドラが「observe」評価セマンティクスの下で戻った場合、動作は未定義です。
  • 実装がhardenedされていない場合、動作は未定義です。
(C++26以降)

目次

翻訳内容: - 「Contents」→「目次」に翻訳 - C++関連の専門用語(Return value、Complexity、Notes、Example、Defect reports、See also)は原文のまま保持 - HTMLタグ、属性、クラス名、ID、リンク先は一切変更せず - 番号部分もそのまま保持

戻り値

operator [ ] ( size ( ) - 1 )

計算量

定数。

注記

libstdc++では、 back() はC++98モードでは 利用できません

#include <iostream>
#include <string>
int main()
{
    std::string s("Exemplary");
    char& back1 = s.back();
    back1 = 's';
    std::cout << s << '\n'; // "Exemplars"
    std::string const c("Exemplary");
    char const& back2 = c.back();
    std::cout << back2 << '\n'; // 'y'
}

出力:

Exemplars
y

不具合報告

以下の動作変更の欠陥報告書は、以前に公開されたC++規格に対して遡及的に適用されました。

DR 適用対象 公開時の動作 正しい動作
LWG 534 C++98 std::basic_string にはメンバー関数 back() がなかった 追加された

関連項目

( DR* )
最初の文字にアクセスする
(公開メンバ関数)
最後の文字にアクセスする
( std::basic_string_view<CharT,Traits> の公開メンバ関数)