AssociativeContainer<IndexType, ItemType>::BeginPairs
PairIterator BeginPairs (void);
ConstPairIterator BeginPairs (void) const;
리턴 값
설명
const IndexType* key;
ItemType* value;
비-상수 순방향 반복자들에 대해서는 이와 같습니다. 그리고
const IndexType* key;
const ItemType* value;
상수 순방향 반복자들에 대해서는 이와 같습니다. 여기서 key는 현재 인덱스를 가리키며 value는 현재 항목을 가리키고 있습니다.
그래서 다음과 같이 현재 인덱스와 현재 항목을 접근할 수 있습니다:
*(iterator->key) // 인덱스에 대한 레퍼런스
*(iterator->value) // 항목에 대한 레퍼런스
또는
iterator->key->anIndexMember
iterator->value->anItemMember
열거 순서는 정의되어 있지 않습니다.
반복자 디레퍼런싱을 통해 획득한 쌍들에 대한 레퍼런스는 부모 연관 컨테이너 상에서 다음 변경하기 메소드가 호출될 때까지만 사용할 수 있습니다.
이 메소드는 EnumeratePairs 메소드와 같습니다.
예제
GS::HashTable<GS::String, long> hashTable; // {strings, long} pair들의 hashtable GS::AssociativeContainer<GS::String, long>& associativeContainer = hashTable; // {string, long} pair들의 연관 컨테이너 (hashTable을 참조함) GS::AssociativeContainer<GS::String, long>::PairIterator begin = associativeContainer.BeginPairs (); // 1번째 인덱스-항목 pair를 참조하는 반복자 획득하기 GS::AssociativeContainer<GS::String, long>::PairIterator end = associativeContainer.EndPairs (); // 마지막 직전 인덱스-항목 pair를 참조하는 반복자 획득하기 while (begin != end) { // 시퀀스 끝까지 (연관 컨테이너) GS::String s = *(begin->key); // 반복자 디레퍼런싱 (pair 구조체에 대한 포인터를 리턴함) long l = *(begin->value); // 반복자 디레퍼런싱 (pair 구조체에 대한 포인터를 리턴함) *(begin->value) = 4; // 반복자 디레퍼런싱 (pair 구조체에 대한 포인터를 리턴함) ++begin; // 다음 pair로 전진 }
이 예제는 연관 컨테이너로부터 획득한 쌍(pair) 반복자들의 사용법을 설명합니다.