標準に使用できる便利な文字列クラスでござるぞ。ダブルクォートで文字列リテラルを表し、通常配列に文字を格納し加工することもできる。文字列を作成する関数などが用意されている。リテラル文字列は動的な操作に不向きで、柔軟性に欠ける。演算子で文字を参照・代入することはもちろん、サイズ情報等の取得や文字の挿入削除なども可能だ。文字列特有のメンバ関数がいくつか用意されている。大きな違いは、文字列の最後にヌル文字('\0')が格納されている点だ。本稿では、初級者には難しいと思うので、どうしても必要な場合以外では「イテレータ」については言及しない。有用なクラスだと考えている。データ構造の例を下図に示す。これはデータ構造の一例であり、あなたの環境の実際のデータ構造とは違うかもしれない。サイズ、キャパシティの値を保持せず、データエリア末尾へのポインタを持つ実装もある。重要なことは、データ領域が連続していることと、末尾に予備の領域を持つ、ということである。格納されているということである。無い実装も仕様上はありだそうである。付加するというのも有りと言えば有りだそうだ。要素数が極端に多いと処理に時間を要してしまうという問題がある。従って、文字数が1万とかを超えると、パフォーマンスが低下する恐れがあるので注意。<string>」を記述することで利用可能になる。std;」を記述しておく。オブジェクトの宣言・初期化方法について説明する。元データを指定して宣言する、他のオブジェクトを元にして宣言する、などの様にいくつもの方法がある。本章ではそれらの方法を順次解説する。オブジェクトを宣言すると、オブジェクトが生成され利用可能になる。これらはスコープを外れると自動的に破棄される。破棄することも可能だ。文字列名とは、宣言する文字列の名前のことだ。変数名と言ってもよい。クラスなので、それを実体化したものはオブジェクトまたはインスタンスと呼ばれる。上記のコードのように、コンストラクタ引数が何も無い場合、空文字列が生成される。空文字列とは文字をひとつも持たない文字列のことである。空文字列だけでなく、文字数・文字を指定して文字列を生成することも可能だ。'文字');」と記述すると、指定された文字数のメモリを確保し、中身を指定された文字で初期化する。"aaaaaaaaaa")上記の方法では、文字が全て同じ文字列でないと初期化できない。コンストラクタ引数に文字列リテラルを指定すると、その文字列で初期化することが出来る。初期化もちろんポインタを使用してもよい。指す先までの文字列で初期化する。最後の文字の次を指す。範囲を元に、文字列を初期化する。通常文字列でデータを指定し、それを元に文字列を構築出来る。文字列リテラルの一部から文字列を作ることもできるぞ。元文字列の一部から文字列(この場合は"123")を生成コピーコンストラクタコピーコンストラクタとは、同じ型のオブジェクトを渡され、それと同じ内容のオブジェクトを生成するコンストラクタのことである。文字列名(コピー元文字列名);」と記述する。宣言し、それを表示しなさい。宣言し、それを表示しなさい。100個書くのはNG)、表示しなさい。"141")を生成し、表示しなさい。"'\n";コピーコンストラクタのサンプルコードをビルドし、デバッガで正しくコピーされていることを確認しなさい。コンストラクタ引数が、要素数、値の順番で、値を省略できるので、それに合わせたのだと思われる。聞くと身構える人がいるかもしれないが、「str[10]」の様に、普通の文字列の要素にアクセスする時と同じ記述だ。恐れることは何も無い。変換)・代入とまったく同じでしょ。ランダムなものに置き換えるコードを書きなさい。str2)+演算子(operator+())により、文字列を連結することができる。演習問題:上記コードをビルド・実行してみなさい。文字列を適当に変えてビルド・実行してみなさい。変えるとどうなるか予想し、ビルド・実行してみなさい。コンソールから文字列を2つ入力し、それらを連結して表示するプログラムを書きなさい。演算子の方が使用される。