> 백엔드 개발 > C++ > 상수 반복자를 사용하여 C++ STL 컨테이너에 액세스하는 방법은 무엇입니까?

상수 반복자를 사용하여 C++ STL 컨테이너에 액세스하는 방법은 무엇입니까?

WBOY
풀어 주다: 2024-06-03 15:15:57
원래의
968명이 탐색했습니다.

답변: 내용을 수정하지 않고 STL 컨테이너 요소에 액세스하려면 상수 반복자를 사용하세요. 자세한 설명: 상수 반복자는 cbegin() 및 cend() 메서드를 통해 획득되며 요소를 수정하지 않고 컨테이너를 탐색하는 데 사용됩니다. * 연산자를 사용하여 요소에 액세스하고 요소 참조를 반환합니다. 반복기에서 앞뒤로 이동하려면 ++ 및 -- 연산자를 사용합니다. == 및 != 연산자를 사용하여 컨테이너 끝에 도달했는지 비교하고 확인합니다.

如何使用常量迭代器访问C++ STL容器?

상수 반복자를 사용하여 C++ STL 컨테이너에 액세스하는 방법

C++에서 STL 컨테이너는 begin()end()를 포함한 여러 반복자 유형을 제공합니다. 메서드에서 반환된 상수 반복자와 cbegin()cend() 메서드에서 반환된 상수 반복자입니다. 상수 반복자는 내용을 수정하지 않고 컨테이너를 반복하는 데 사용됩니다. begin()end() 方法返回的常规迭代器,以及 cbegin()cend() 方法返回的常量迭代器。常量迭代器用于遍历容器而不修改其内容。

语法:

常量迭代器与常规迭代器的语法相同。例如,在以下代码中,it 是一个指向 vector<int> 容器中元素的常量迭代器:

const vector<int> v = {1, 2, 3, 4, 5};
const vector<int>::const_iterator it = v.cbegin();
로그인 후 복사

访问元素:

要访问常量迭代器指向的元素,可以使用 * 运算符。与常规迭代器一样,*it 返回指向元素的引用:

cout << *it << endl; // 输出:1
로그인 후 복사

前进和后退:

与常规迭代器类似,常量迭代器还可以使用 ++-- 运算符进行前进和后退:

++it; // 前进到下一个元素
--it; // 后退到上一个元素
로그인 후 복사

比较:

常量迭代器也可以用 ==!= 运算符进行比较:

if (it == v.cend()) {
  cout << "迭代器指向容器的末尾" << endl;
}
로그인 후 복사

实战案例:

以下代码示例演示了如何使用常量迭代器遍历 vector

🎜구문: ​​🎜🎜🎜상수 반복자는 일반 반복자와 동일한 구문을 갖습니다. 예를 들어, 다음 코드에서 it벡터<int> 컨테이너의 요소를 가리키는 상수 반복자입니다. 🎜
#include <iostream>
#include <vector>

int main() {
  const vector<int> v = {1, 2, 3, 4, 5};

  // 使用常量迭代器遍历容器
  for (const vector<int>::const_iterator it = v.cbegin(); it != v.cend(); ++it) {
    cout << *it << " "; // 输出:1 2 3 4 5
  }

  return 0;
}
로그인 후 복사
🎜🎜요소에 액세스하려면: 🎜🎜 🎜상수에 액세스하려면 반복자가 가리키는 요소의 경우 * 연산자를 사용할 수 있습니다. 일반 반복자와 마찬가지로 *it는 요소에 대한 참조를 반환합니다. 🎜rrreee🎜🎜앞으로 및 뒤로: 🎜🎜🎜일반 반복자와 마찬가지로 상수 반복자는 ++ 및 <code>-- 정방향 및 역방향 연산자: 🎜rrreee🎜🎜비교: 🎜🎜🎜상수 반복자는 ==!= 와 함께 사용할 수도 있습니다. 비교를 위한 연산자: 🎜rrreee🎜🎜실용 예: 🎜🎜🎜다음 코드 예는 상수 반복자를 사용하여 벡터 컨테이너를 탐색하는 방법을 보여줍니다. 🎜rrreee

위 내용은 상수 반복자를 사용하여 C++ STL 컨테이너에 액세스하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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