같은 종류의 두 pair의 크기 비교는,
"사전순 (lexicographical order)" 으로 이루어진다.
무슨 말이냐면, first의 element를 먼저 비교하고, 만일 거기서 판가름이 나지 않는 경우에는
second를 비교하여 크기를 정하게 된다.
정확한 크기 비교의 정의는
http://stackoverflow.com/questions/2819245/is-stdpairint-stdstring-ordering-well-defined
위의 정의에 따르면, pair y 가 x 보다 크다는 것은
case 1. y의 first가 x의 first보다 큰 경우이거나,
case 2. case 1이 만족되지 않았을 때(short-circuit),
x의 first가 y의 first보다 크지 않으면서, y의 second가 x의 second보다 큰 경우.
예를 들어 보자. ( x < y 인 경우 두 가지 )
1. x = (1, 6), y = (2, 1) -> 이는 case 1에 의해 x < y 이다.
2. x = (1, 6), y = (1, 8) -> 이는 case 2에 의해 x < y 이다.
'플랫폼 > C++' 카테고리의 다른 글
Stringstream 사용법 정리 (0) | 2013.07.17 |
---|---|
공백을 포함해 한 줄 입력받기 (0) | 2013.07.09 |
Reverse_iterator 에 대해서 (0) | 2013.05.31 |
lower_bound와 upper_bound (0) | 2013.05.30 |