ConstBidirectionalIterator Class
template <class Type> class ConstBidirectionalIterator : public ConstForwardIterator< Type >
Template 파라미터
- Type
반복자(iterator)가 반복하는 항목들의 타입입니다.
멤버
operator++ | |
operator-- |
설명
반복자는 컨테이너에 의해 생성되고 리턴되며 컨테이너의 요소를 통과하는 데 사용되거나 알고리즘 함수에 대한 인수로서 전달됩니다. 대부분의 알고리즘은 단일 반복자의 관점에서 표현되지 않지만 반복자의 범위 관점에서 [first, last) 표기는 first부터 last까지의 모든 반복자들을 참조합니다. (last는 포함하지 않음)
범위가 비어 있을 수 있습니다. 즉, first와 last는 동일한 반복자일 수 있습니다.
또한 범위 안에 n 개의 반복자가 있는 경우 [first, last) 표기는 n+1 위치를 나타낸다는 것을 참고하십시오.
이것은 중요합니다: n 개에서 자주 작동하는 알고리즘은 n + 1 위치를 필요로 합니다.
예를 들어, 선형 검색 Find에서 검색이 성공하지 못했음을 나타내기 위해 몇 가지 값을 리턴할 수 있어야 합니다. 반복자는 컨테이너에서 알고리즘을 분리할 수 있게 해주는 메커니즘입니다: 알고리즘은 템플릿이며, 반복자 타입에 의해 파라미터화되므로 단일 타입의 컨테이너로 제한되지 않습니다.
예제
GS::Array<GS::String> array; // 문자열들의 배열 const GS::Array<GS::String>& constArray = array; // 문자열들의 상수 배열 GS::Array<GS::String>::ConstIterator it = constArray.Enumerate (); // 상수 반복자 획득하기 (또는 constArray.Begin ()) while (it != NULL) { // 시퀀스의 끝까지 (상수 배열) GS::String s = *it; // 상수 반복자 디레퍼런싱 (상수 레퍼런스 리턴) USize length = it->GetLength (); // 상수 반복자 디레퍼런싱 (상수 포인터 리턴) ++it; // 다음 요소로 전진 } GS::Find (constArray.Begin (), constArray.End (), GS::String ("Test")); // 알고리즘에서 상수 반복자 사용하기
이 예제는 상수 컨테이너(상수 배열)로부터 획득한 반복자를 사용하는 방법을 보여줍니다.
요구사항
네임스페이스: GS
헤더: BidirectionalIterator.hpp