第83章 basic_stringコンテナ


basic_stringコンテナには、stringクラスとwstringクラスが含まれています。 従ってstringクラスに対して反復子を使用できます。

また、この章では「逆方向反復子」についてもやります。



まずは、サンプルプログラムを見てみましょう。

// bstring01.cpp

#include <iostream>
#include <string>

using namespace std;

int main()
{
    string str("abcdefg");
    int n, i;

    string::iterator p;
    string::reverse_iterator e;
    basic_string<char>::iterator q;

    p = str.begin();
    e = str.rbegin();

    n = (int)str.size();

    cout << "size = " << n << endl;

    for (i = 0; i < n; i++) {
        cout << *p++;
    }
    cout << endl;
    
    for (i = 0; i < n; i++) {
        cout << *e++;
    }
    cout << endl;

    return 0;
}
通常の反復子は
string::iterator p;
のように宣言します。
p = str.begin();
とすれば、pは最初のデータを指します。
cout << *p++;
を繰り返すと、次々とデータを先頭から表示することになります。

逆方向反復子を使用するには

string::reverse_iterator e;
のような感じで宣言します。
e = str.rbegin();
で、最初のデータをさします。 つまり、一番最後のデータです。
cout << *e++;
を繰り返すと、データの最後から前に向かって次々と表示することになります。

では、実行結果を見てみましょう。




[C++Index] [総合Index] [Previous Chapter] [Next Chapter]

Update Aug/30/2004 By Y.Kumei
当ホーム・ページの一部または全部を無断で複写、複製、 転載あるいはコンピュータ等のファイルに保存することを禁じます。