basic_string クラス

basic_string テンプレート クラスのオブジェクトによって制御されるシーケンスは C++ の標準文字列クラスで、通常文字列と呼ばれますが、標準 C++ ライブラリ全体で使用される C スタイルの null で終わる文字列と混同しないようにしてください。 標準 C++ 文字列は、比較と連結演算子、反復子、STL アルゴリズム、クラスのアロケーターによって管理されるメモリのコピーおよび割り当てなど、通常の型として文字列の使用を有効にするコンテナーです。 標準 C++ 文字列を C スタイルの null で終わる文字列に変換する場合は、basic_string::c_str メンバーを使用します。

template <class CharType, class Traits = char_traits<CharType>, class Allocator = allocator<CharType>> class basic_string;

パラメーター

  • CharType
    文字列に格納される単一文字のデータ型。 標準 C++ ライブラリでは、char 型の要素に型定義 string、wchar_t に wstring、char16_t に u16string、char32_t に u32string を使用した、このテンプレート クラスの特殊化が提供されます。

  • Traits
    basic_string 特化の CharType 要素のさまざまな重要なプロパティは、クラス Traits によって記述されます。 既定値は char_traits<CharType> です。

  • Allocator
    メモリの文字列の割り当てと解放に関する詳細をカプセル化する、格納されたアロケーター オブジェクトを表す型。 既定値は allocator<CharType> です。

コンストラクター

basic_string

空または特定の文字によって初期化される文字列、または他の文字列オブジェクトまたは C 文字列の全体または一部のコピーである文字列を作成します。

Typedef

allocator_type

文字列オブジェクトの allocator クラス型を表す型。

const_iterator

文字列内の const 要素にアクセスし、読み取ることができるランダム アクセス反復子を提供する型。

const_pointer

文字列内の const 要素へのポインターを提供する型。

const_reference

読み取りと const 操作の実行のために、文字列に格納された const 要素への参照を提供する型。

const_reverse_iterator

文字列内の任意の const 要素を読み取ることができるランダム アクセス反復子を提供する型。

difference_type

同じ文字列内の要素を参照する 2 反復子の違いを提供する型。

iterator

文字列内の任意の要素を読み取り、または変更できるランダム アクセス反復子を提供する型。

npos

検索機能が失敗したときに「見つかりません」、または「すべての残りの文字」を示す –1 に初期化された符号なし整数値。

ポインター

文字列または文字アレイ内の文字要素へのポインターを提供する型。

参照

文字列に格納されている要素への参照を提供する型。

reverse_iterator

反転文字列内の要素を読み取り、または変更できるランダム アクセス反復子を提供する型。

size_type

文字列の要素の数の符号なし整数型。

traits_type

文字列に格納されている要素の文字の特徴の型。

value_type

文字列に格納された文字の型を表す型。

メンバー関数

append

文字列の末尾に文字を追加します。

assign

文字列の内容に新しい文字の値を割り当てます。

at

文字列内の指定した位置にある要素への参照を返します。

back

begin

文字列の 1 つ目の要素を示す反復子を返します。

c_str

C スタイルの null で終わる文字列として、文字列の内容を変換します。

capacity

文字列のメモリ割り当てを増やさずに文字列に格納できる要素の最大数を返します。

cbegin

文字列の 1 つ目の要素を示す定数反復子を返します。

cend

文字列内の最後の要素の次の場所を指す定数反復子を返します。

clear

文字列のすべての要素を消去します。

compare

2 つの文字列が等しいかどうか、または一方が辞書式に他方よりも小さいかどうかを判断するために、特定の文字列を含む文字列を比較します。

copy

コピー元の文字列のインデックス位置からターゲットの文字配列に最大で指定された文字数をコピーします。 使用しないでください。 代わりに、basic_string::_Copy_s を使用してください。

crbegin

反転文字列内の最初の要素を示す定数反復子を返します。

crend

反転文字列内の最後の要素の次の場所を指す定数反復子を返します。

_Copy_s

コピー元の文字列のインデックス位置からターゲットの文字配列に最大で指定された文字数をコピーします。

データ

文字列の内容を文字配列に変換します。

empty

文字列に文字が含まれているかどうかをテストします。

End

文字列内の最後の要素の次の場所を指す反復子を返します。

erase

指定した位置から文字列の要素または要素範囲を削除します。

find

指定された文字シーケンスに一致する部分文字列の最初の出現を文字列で前方に検索します。

find_first_not_of

指定された文字列の要素ではない最初の文字を文字列で検索します。

find_first_of

指定された文字列の要素と一致する最初の文字を文字列で検索します。

find_last_not_of

指定された文字列の要素ではない最後の文字を文字列で検索します。

find_last_of

指定された文字列の要素である最後の文字を文字列で検索します。

front

文字列内の最初の要素への参照を返します。

get_allocator

文字列の構築に使用される allocator オブジェクトのコピーを返します。

insert

指定した位置の文字列に要素、複数の要素、または要素の範囲を挿入します。

length

文字列内の現在の要素数を返します。

max_size

文字列が含むことができる最大文字数を返します。

pop_back

文字列の最後の要素を消去します。

push_back

文字列の末尾に要素を追加します。

rbegin

反転文字列の 1 つ目の要素への反復子を返します。

rend

反転文字列内の最後の要素の先を示す反復子を返します。

replace

指定された場所の文字列の要素を指定された文字、または他の範囲、文字列、または C 文字列からコピーされた文字で置き換えます。

reserve

文字列のキャパシティを少なくとも指定した数に設定します。

resize

要素を必要に応じて追加または削除して、文字列の新しいサイズを指定します。

rfind

指定された文字シーケンスに一致する部分文字列の最初の出現を文字列で後方に検索します。

shrink_to_fit

文字列の余分なキャパシティを破棄します。

size

文字列内の現在の要素数を返します。

substr

指定された位置から始まる文字列から最大でいくつかの文字の部分文字列をコピーします。

swap

2 つの文字列の内容を交換します。

演算子

operator +=

文字列に文字を追加します。

operator =

文字列の内容に新しい文字の値を割り当てます。

operator[]

文字列に指定したインデックスのある文字への参照を提供します。

解説

関数が max_size の要素よりも長いシーケンスを生成するように指示された場合、関数は length_error 型のオブジェクトをスローして長さエラーを報告します。

被制御シーケンスの要素を指定する参照、ポインター、および反復子は、被制御シーケンスを変更する関数の呼び出しの後、または非 const メンバー関数への最初の呼び出しの後、無効になることがあります。

必要条件

ヘッダー: <string>

名前空間: std

参照

関連項目

<string>

C++ 標準ライブラリ内のスレッド セーフ