std::string


目次に戻る


たまにはC++のライブラリを紹介するのもいいかな、というわけで今日はC++の標準テン プレートライブラリ(STL)からstringクラスを紹介します。名前から推測できるように、 stringクラスは文字列を取り扱う為のクラスです。
 
はっきり言って、最高。使い方にちょっとクセがあるものの慣れてしまえば大して問題 にはならない。stringクラスを利用する為にCでは無くC++を使え!と言いたくなる位便利。 どのあたりが便利かというと、文字列の長さを気にしなくていいのです。malloc、reallocを 駆使しなくて良いということは、メモリがらみのバグを減らせるという事です。いいねぇ〜。
 
stringクラスの主な使い方は次のようになります。
// ヘッダファイルをインクルード
#include <string>
 
// 標準クラスを使うよと宣言
using namespcae std;
 
main()
{
    string data;
    data = "AIUEO";    // 代入

    printf("data = %s\n", data.c_str() );    /* char* 型が必要な場合はこのように、 .c_str() を変数名の後につける */

    if( data == "AIUEO" ){        // 内容の比較
        printf(" data is 'AIUEO'!\n");
    }
    if( data == "aiueo" ){
        printf(" data is 'aiueo'!\n");
    }

    data = data + "KaKiKuKeKo";    // 追加

    printf("data = %s\n",data.c_str() );

    printf("data[3] = %c\n",data[3]);    // 要素にアクセス

    data[3] = 'Z';    // 要素にアクセス

    printf("data = %s\n",data.c_str() );

    return 0;
}

いや、まじ便利だわ。


目次に戻る