ホームページ >バックエンド開発 >C++ >C++ STL コンテナ内の要素にアクセスするにはどうすればよいですか?

C++ STL コンテナ内の要素にアクセスするにはどうすればよいですか?

WBOY
WBOYオリジナル
2024-06-05 18:04:511164ブラウズ

C++ STL コンテナーの要素にアクセスするにはどうすればよいですか?これを行うにはいくつかの方法があります: コンテナを走査する: イテレータ範囲ベースの for ループを使用して特定の要素にアクセスする: インデックス (添え字演算子 []) を使用する キー (std::map または std::unowned_map) を使用する

如何访问C++ STL容器中的元素?

C++ STL コンテナーの要素にアクセスする方法

C++ 標準テンプレート ライブラリ (STL) は、データの効率的な保存と管理のためのさまざまなコンテナーを提供します。 STL を効果的に利用するには、これらのコンテナ内の要素にアクセスする方法を理解することが重要です。

コンテナを走査する

コンテナを走査してその要素にアクセスするには、次のメソッドがあります:

  • イテレータ: STL は、コンテナ内の要素に順次アクセスできるイテレータを提供します。
// 使用迭代器遍历 vector
vector<int> v = {1, 2, 3};
for (vector<int>::iterator it = v.begin(); it != v.end(); ++it) {
  cout << *it << endl;
}
  • 範囲ベースの for ループ: C++11 では範囲ベースの for ループが導入され、コンテナーの走査がより簡潔になります。
// 使用基于范围的 for 循环遍历 vector
vector<int> v = {1, 2, 3};
for (int& x : v) {
  cout << x << endl;
}

特定の要素にアクセスする

コンテナを走査することに加えて、インデックスまたはキーによって特定の要素に直接アクセスすることもできます:

  • インデックス: 添字演算子 ([]) を使用してインデックスにアクセスできます。コンテナ要素。
// 使用下标访问 vector 中的元素
vector<int> v = {1, 2, 3};
cout << v[0] << endl; // 输出 1
  • Keys: コンテナが要素の保存にキーを使用する場合、std::map または std::unowned_map[] を使用できます。 演算子または at() メソッド。 std::mapstd::unordered_map 中的 [] 运算符或 at() 方法。
// 使用键访问 map 中的元素
map<string, int> m;
m["John"] = 30;
cout << m["John"] << endl; // 输出 30

实战案例

假设我们有一个存储学生成绩的 std::vector

vector<int> grades = {90, 85, 95, 88};

実際的なケース

生徒の成績を保存する std::vector があるとします:

// 使用基于范围的 for 循环遍历和修改 vector
for (int& grade : grades) {
  // 将每个成绩增加 5
  grade += 5;
}

範囲ベースの for ループを使用してこれらの要素にアクセスし、変更する方法は次のとおりです:

rrreee🎜結論 🎜🎜C++ STL コンテナーの要素にアクセスする方法を理解することは、これらのコンテナーを効果的に使用するために重要です。使用しているコンテナの種類に応じて、イテレータ、範囲ベースの for ループ、添字演算子、またはキーを使用できます。 🎜

以上がC++ STL コンテナ内の要素にアクセスするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。