> 백엔드 개발 > C++ > C++ STL 컨테이너의 요소에 액세스하는 방법은 무엇입니까?

C++ STL 컨테이너의 요소에 액세스하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-06-05 18:04:51
원래의
1169명이 탐색했습니다.

C++ STL 컨테이너의 요소에 액세스하는 방법은 무엇입니까? 이를 수행하는 방법에는 여러 가지가 있습니다. 컨테이너 탐색: 반복자 범위 기반 for 루프를 사용하여 특정 요소에 액세스: 인덱스 사용(아래 첨자 연산자 []) 키 사용(std::map 또는 std::unordered_map)

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

C++ STL 컨테이너의 요소에 액세스하는 방법

C++ 표준 템플릿 라이브러리(STL)는 데이터의 효율적인 저장 및 관리를 위한 다양한 컨테이너를 제공합니다. STL을 효과적으로 활용하려면 이러한 컨테이너 내의 요소에 액세스하는 방법을 이해하는 것이 중요합니다.

컨테이너 탐색

컨테이너를 탐색하고 해당 요소에 액세스하는 방법은 다음과 같습니다.

  • Iterators: 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
로그인 후 복사
  • 키: 컨테이너가 키를 사용하여 요소를 저장하는 경우 std::map 또는 std::unordered_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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

관련 라벨:
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿