==比較演算子|std::string】C++の文字列型で等値の判定を行う場合には一般的な比較演算子を用いる方法以外にも、compareメンバ関数やequal関数を用いた様々な方法が存在します。!=)による文字列比較が可能となっています。(不等値判定)==は文字列全体の一致を判定します。!=は不一致を判定します。char*)との比較も可能です。メンバ関数compareメンバ関数は大小関係を考慮した比較関数です。戻り値型はint型の値です。一致した場合には0が返されます。不一致が発生した場合には正の値または負の値が返されます。(等しいかどうか)compareは検索範囲の指定が可能です。検索する長さを指定することができます。0第四引数には第三引数に指定したC言語スタイル文字列の長さを指定することが可能です。第三引数に指定された文字列がstd::string型の場合には第四引数以降に開始位置と長さを指定します。関数の利用がオススメです。backメンバ関数を用いて各要素を取得します。size()`の場合空文字(`CharT()`)を返す。`operator[](0)`相当。関数algorithmヘッダーのアルゴリズム関数std::equalを用いることで、イテレータを用いた柔軟な検索が実現できます。true第一引数と第二引数には検索対象とする文字列の範囲を指定します。第三引数には検索したい文字列の開始位置を指定します。オプションとして第四引数に検索したい文字列の検索終了位置を指定することもできます。文字列の一部を比較することも可能です。truestd::equal関数は様々なコンテナやデータ構造との比較が行えます。truestd::equal関数利用時の注意点NULL終端されていないデータ構造との比較を行う場合には、必ずequal関数の第四引数に終端位置を指定する必要があります。以下の第四引数を省略した例では、equal関数の内部でv[2]相当の不定な要素アクセスが発生してしまいます。v[2]の結果が文字'c'だった場合にはequal関数の結果は真となってしまいます。(常に安定)各関数の処理効率についてcompareメンバ関数は要素同士の比較に<演算子による比較演算を行います。std::equal関数の場合は==演算子による要素同士の比較が行われます。高速な比較処理が求められる環境では、std::equal関数の利用を検討してみると良いでしょう。ちなみにstd::string型の==メンバ演算子による比較は、compareメンバ関数による比較と同等の内部処理が行われます。0のエイリアスとして定義されています。std::string("b")はstd::char_traits<CharT>::compare関数を活用します。