자료 저장소

# 난수 발생

■ rand()
[0, RAND_MAX] 범위의 정수 난수를 돌려준다. rand와 RAND_MAX는 모두 <cstdlib>에 정의 되어 있다.


# map 컨테이너 관련 연산

■ pair<K, V>
객체들이 값의 쌍을 담는 단순한 타입이다. 이러한 데이터의 값을 액세스 하려면, first와 second라는 이름을 사용한다

■ map<K, V>
K라는 키 타입과 V라는 값 타입을 갖는 연관 배열. map의 요소들은 키-값 쌍으로 이루어져 있으며, 키-값 쌍은 키를 사용하여
효과적으로 요소들을 액세스 할 수 있도록 키 순으로 정렬되어있다. map에 대한 반복자는 양방향성을 갖는다.
map 반복자를 정렬하면 pair<const K, V>의 값을 얻을 수 있다.

■ map<K, V> m
새로운 빈 map을 생성한다. 이 map은 const K 타입의 키와 V 타입의 값을 가진다.

■ map<K, V> m(cmp)
새로운 빈 map을 생성한다. 이 map은 const K 타입의 키와 V 타입의 값을 가지며, 동작함수 cmp를 사용하여 요소들의
순서를 결정한다.

■ m[k]
K 타입의 키 k를 사용하여 map을 인덱싱하고, V타입의 lvalue를 리턴한다. 만약 주어진 키에 대한 요소가 없다면, 새로운
값지정-초기화된 요소가 생성되어, 이 키를 갖고 map에 삽입된다. []를 사용하여 map에 접근하면 새로운 요소를 생성할 수
있으므로, const map에서는 []가 허용되지 않는다.

※ 값지정-초기화(Value-initalization)
존재하지 않는 map요소를 액세스 하면 V()의 값으로 요소를 생성한다. 이 때, V는 map에 저장된 값의 타입이다.
이러한 표현식을 값지정-초기화 된다고 말한다.

■ m.begin(), m.end()
map의 요소를 접근할 때 사용하는 반복자를 리턴한다. 이 반복자를 역참조 하면 값을 얻는 것이 아니라, 키-값 쌍을 얻게된다.

■ m.find(k)
키 k에 대한 요소를 가리키는 반복자를 리턴하거나, 해당 요소가 존재하지 않는 경우 m.end()를 리턴한다.

map<K, V>와 연관된 반복자 p에 대해서는 다음과 같은 것들이 적용된다.

p->first : const K 타입의 lvalue를 얻을 수 있다. 이 lvalue는 p가 가리키는 요소에 대한 키 입니다.
p->second : V 타입의 lvalue를 얻을 수 있다. 이 lvalue는 p가 가리키는 요소의 값 부분에 해당된다.

댓글 로드 중…

최근에 게시된 글