Behind.dev

[c++] std::string::iterator 사용법 본문

프로그래밍언어/C++

[c++] std::string::iterator 사용법

뽀잉뽀잉뽀 2024. 4. 21. 23:55

✔️iterator 란 ?

  • c++ 표준 라이브러리인 standard Template Library(STL)의 일부로,
  • std::string 클래스 내부 문자 데이터에 접근할 수 있는 반복자입니다.
  • 반복자는 일반적으로 컨테이너의 요소들을 순회하고 접근하는 데 사용되는 포인터와 유사한 객체입니다.

std::stringiterator는 문자열 내의 문자들을 읽거나 수정할 수 있게 해 줍니다. 이 반복자는 랜덤 액세스 반복자의 특성을 가지며, 이는 " 반복자를 사용하여 문자열 내의 임의 위치로 점프하거나, 앞뒤로 이동하면서 요소에 접근할 수 있다" 는 의미를 가집니다

 

📌 주요기능 

  • 접근 : iterator로 반복자가 가리키는 요소, 즉 문자에 접근할 수 있습니다.
  • 이동 : ++iterator--iterator로 반복자를 앞뒤로 이동시킬 수 있으며, iterator + n 형태로 임의 위치로 점프할 수도 있습니다.
  • 비교 : 두 반복자를 비교하여 동일한 위치를 가리키는지 (==) 혹은 다른 위치를 가리키는지 (≠) 확인할 수 있습니다

⭐ 별칭 지정

  • 아래 코드에서 StrIterstd::string::iterator에 대한 타입 별칭으로, 이를 사용하여 반복자 타입을 좀 더 간결하게 표현할 수 있습니다. 이 경우, StrIter는 std::string의 반복자 타입을 의미합니다.
using StrIter = std::string::iterator;

void process(StrIter& it){
    while(*it != '\\o'){
        cout<< *it;  // 현재 가리키는 문자를 출력
        ++it;        // 반복자를 다음 문자로 이동
    }
}

 

✔️ 사용예

string s = "Example";
string::iterator it = s.begin();
while (it != s.end()) {
    cout<< *it;
    ++it;
}

//출력
Example

'프로그래밍언어 > C++' 카테고리의 다른 글

[C++ STL] priority_queue  (0) 2024.06.02
[c++] 입출력 시간 단축  (0) 2024.04.22