C++ イテレータでループ処理!基本と応用

C++では、ベクターやリスト、マップなどのコンテナを繰り返すために、イテレータ(iterator)を使用することができます。イテレータは、ポインタに似ており、コンテナ内の要素を指示し、イテレータを使用してコンテナ内の要素にアクセスすることができます。

容器を走査するための一般的な手順は以下のとおりです:

  1. コンテナの開始位置を指すイテレータ変数を定義します。
  2. 容器を反復処理するために、ループ構造(forループやwhileループなど)を使用します。
  3. ループ中では、イテレータを使用して現在の要素にアクセスし、適切な操作を行います。
  4. 各ループイテレーション後、イテレータを次の要素に移動する。

以下は、ベクターコンテナをイテレーターで走査するサンプルコードです。

#include <iostream>
#include <vector>

int main() {
    std::vector<int> vec = {1, 2, 3, 4, 5};

    // 定义迭代器变量,指向容器的起始位置
    std::vector<int>::iterator it = vec.begin();

    // 使用循环遍历容器
    while (it != vec.end()) {
        // 访问当前元素,并输出
        std::cout << *it << " ";

        // 将迭代器移动到下一个元素
        it++;
    }

    return 0;
}

例において、イテレーターitを使用してベクターコンテナvecを反復処理し、各要素の値を出力しました。itの初期位置はvec.begin()であり、終了位置はvec.end()であり、ループ中で現在の要素の値にイテレーターitを使用し、it++を使用して次の要素にイテレーターを移動しました。

bannerAds