unordered_map은 역순회가 불가능하므로, 다음과 같이 사용할 수 없다.
- 특이하게도 MSVC에서는 되는데, GCC에서는 작동하지 않는다.
void func()
{
unordered_map<string, int> umap {{"A", 1}, {"B", 2}, {"C", 3}};
// 런타임 오류 발생 ! !
auto it = prev(umap.end());
it = umap.end() - 1;
}
그러므로 해시 테이블을 사용하는데 마지막 원소를 가져와야하는 경우라면, 어쩔 수 없이 map을 사용해야 한다.
void func()
{
map<string, int> mp {{"A", 1}, {"B", 2}, {"C", 3}};
auto it = mp.rbegin();
}
'자료구조 & 알고리즘 > 기타' 카테고리의 다른 글
unordered_set의 입력 순서 유지 (0) | 2023.04.20 |
---|---|
비트셋을 벡터로 변환 (0) | 2023.04.16 |
내적 계산 (0) | 2023.04.02 |
증가하는 시퀀스로 값 채우기 (0) | 2023.03.31 |
set.insert()의 반환 값 (0) | 2023.03.23 |