C++ イテレータでループ処理!基本と応用
C++では、ベクターやリスト、マップなどのコンテナを繰り返すために、イテレータ(iterator)を使用することができます。イテレータは、ポインタに似ており、コンテナ内の要素を指示し、イテレータを使用してコンテナ内の要素にアクセスすることができます。
容器を走査するための一般的な手順は以下のとおりです:
- コンテナの開始位置を指すイテレータ変数を定義します。
- 容器を反復処理するために、ループ構造(forループやwhileループなど)を使用します。
- ループ中では、イテレータを使用して現在の要素にアクセスし、適切な操作を行います。
- 各ループイテレーション後、イテレータを次の要素に移動する。
以下は、ベクターコンテナをイテレーターで走査するサンプルコードです。
#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++を使用して次の要素にイテレーターを移動しました。