次の方法で共有


<string>

コンテナーのテンプレート クラス basic_string とさまざまなサポートのテンプレートを定義します。

basic_string の詳細については、「basic_string Class」を参照してください。

namespace std {
    template<class CharType>
        class char_traits;
    template<>
        class char_traits<char>;
    template<>
        class char_traits<wchar_t>;
    template<>
        class char_traits<char16_t>; 
    template<>
        class char_traits<char32_t>;

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

    typedef basic_string<char> string;
    typedef basic_string<wchar_t> wstring;
    typedef basic_string<char16_t> u16string;
    typedef basic_string<char32_t> u32string;

        // NARROW FUNCTIONS
    int stoi (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long stol (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long stoul (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long long stoll (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long long stoull (
        const string& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    float stof (
        const string& _Str, 
        size_t *_Idx = 0
    );
    double stod (
        const string& _Str, 
        size_t *_Idx = 0
    );
    long double stold (
        const string& _Str, 
        size_t *_Idx = 0
    );

    string to_string (long long _Val); 
    string to_string (unsigned long long _Val); 
    string to_string (long double _Val);

        // WIDE FUNCTIONS
    int stoi (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long stol (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long stoul (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    long long stoll (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    );
    unsigned long long stoull (
        const wstring& _Str, 
        size_t *_Idx = 0,
        int _Base = 10
    ); 
    float stof (
        const wstring& _Str, 
        size_t *_Idx = 0
    ); 
    double stod (
        const wstring& _Str, 
        size_t *_Idx = 0
    );
    long double stold (
        const wstring& _Str, 
        size_t *_Idx = 0
    );
    wstring to_wstring (long long _Val); 
    wstring to_wstring (unsigned long long _Val); 
    wstring to_wstring (long double _Val);

       // TEMPLATE FUNCTIONS
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            CharType _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator> operator+ (
            CharType _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );

    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator> 
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const basic_string<CharType, Traits, Allocator>&& _Left,
            CharType _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_string<CharType, Traits, Allocator>&& operator+ (
            CharType _Left,
            const basic_string<CharType, Traits, Allocator>&& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator== (
            const CharType *_Left, 
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const basic_string<CharType, Traits, Allocator>& left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator!= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator< (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator>= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator> (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const basic_string<CharType, Traits, Allocator>& _Left,
            const CharType *_Right
        );
    template<class CharType, class Traits, class Allocator>
        bool operator<= (
            const CharType *_Left,
            const basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        void swap (
            basic_string<CharType, Traits, Allocator>& _Left,
            basic_string<CharType, Traits, Allocator>& _Right
        );
    template<class CharType, class Traits, class Allocator>
        basic_ostream<CharType>& operator<< (
            basic_ostream<CharType>& _OStream,
            const basic_string<CharType, Traits, Allocator>& _Str
        );
    template<class CharType, class Traits, class Allocator>
        basic_istream<CharType>& operator>> (
            basic_istream<CharType>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        );
    template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        );
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str,
            CharType _Delimiter
        );
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>&& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str
        ); 
     template<class CharType, class Traits, class Allocator>
        basic_istream<CharType, Traits>& getline (
            basic_istream<CharType, Traits>&& _IStream,
            basic_string<CharType, Traits, Allocator>& _Str,
            CharType _Delimiter
        );
}  // namespace std

パラメーター

  • CharType
    文字データ型を記述するテンプレート パラメーター。

  • プロパティ
    CharType の文字データのプロパティを説明するテンプレート パラメーター。

  • アロケーター
    格納済みのメモリ アロケーター オブジェクトを記述するテンプレート パラメーター。

  • _Str
    basic_string サポートの CharType のその文字データ。

  • _Val
    変換される値。

  • _Idx
    最初の変換されていない文字のインデックス値。

  • _Base
    使用する番号です。

  • _IStream
    入力ストリームのサポート CharType のその文字データ。

  • _OStream
    出力ストリームのサポート CharType のその文字データ。

  • _Delimiter
    行の区切り記号。

  • _Left
    1 番目 ()、残りのパラメーターを basic_string、文字データ比較します。

  • _Right
    2 番目のパラメーター (右) を、basic_string、文字データ比較します。

解説

C++ 言語および標準 C++ ライブラリは文字列の 2 種類をサポートします:

  • 頻繁に C 文字列と呼ばれる NULL で終わる文字配列。

  • すべての charのようなテンプレート引数を処理するテンプレート クラスは、型のオブジェクト basic_string

hd5zecz6.collapse_all(ja-jp,VS.110).gifTypedef

string

stringとして char 型の要素を持つテンプレート クラスから特化した basic_string を記述する型。

wstring

wstringとして wchar_t 型の要素を持つテンプレート クラスから特化した basic_string を記述する型。

u16string

テンプレート クラスから特化した basic_string を記述する型が char16_tの要素に基づいて。

u32string

テンプレート クラスから特化した basic_string を記述する型が char32_tの要素に基づいて。

hd5zecz6.collapse_all(ja-jp,VS.110).gif演算子

operator+

2 文字列オブジェクトを連結します。

operator! =

演算子の左側の文字列オブジェクトが右側の文字列オブジェクトと等しくないかどうかを調べます。

operator==

演算子の左側の文字列オブジェクトが右側の文字列オブジェクトと等しいかどうかを調べます。

operator<

演算子の左側の文字列オブジェクトが右側の文字列オブジェクトにより小さいかどうかをテストします。

operator<=

演算子の左側の文字列オブジェクトが右側の文字列オブジェクト以下かどうかをテストします。

operator<<

出力ストリームに文字列を挿入テンプレート関数。

operator>

演算子の左側の文字列オブジェクトが右側の文字列オブジェクトにより大きいかどうかを調べます。

operator>=

演算子の左側の文字列オブジェクトが右側の文字列オブジェクトの値以上でテスト。

operator>>

入力ストリームから文字列を抽出するテンプレート関数。

hd5zecz6.collapse_all(ja-jp,VS.110).gif特化したテンプレートの関数

swap

2 文字の文字列の配列を交換します。

stod

double.に文字列に変換します

stof

floatに文字列に変換します。

stoi

整数に文字列に変換します。

stold

long doubleに文字列に変換します。

stoll

long longに文字列に変換します。

stoul

unsigned longに文字列に変換します。

stoull

unsigned long longに文字列に変換します。

to_string

値を string に変換します。

to_wstring

ワイド stringに値を変換します。

hd5zecz6.collapse_all(ja-jp,VS.110).gif関数

getline

1 行ずつ入力ストリームから抽出の文字列。

hd5zecz6.collapse_all(ja-jp,VS.110).gifClasses

basic_string Class

任意の文字形式のオブジェクトのシーケンスを格納できるオブジェクトを表すテンプレート クラス。

char_traits Struct

型 CharType の文字に関連付けられた属性を記述するテンプレート クラス

hd5zecz6.collapse_all(ja-jp,VS.110).gif特殊化

char_traits<char> Struct

型 charの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。

char_traits<wchar_t> Struct

型 wchar_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。

char_traits<char16_t> Struct

char16_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。

char_traits<char32_t> Struct

char32_tの要素にテンプレートの構造体 char_traits<CharType> の特殊化にする構造体。

必要条件

  • ヘッダー: <string>

  • 名前空間: std

参照

関連項目

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

その他の技術情報

ヘッダー ファイル