2012-05-30 3 views

답변

14

C++에서 11 map::at이 (누가 알았습니까?).

키가 존재하지 않는 경우에 예외를 throw, find 반환 aMap.end() 요소가 존재하지 않는 경우, 더 값이 존재하지 않는 경우 operator[] 해당 키에 대한 새 값 값 초기화합니다. 현재지도의 일부가 아닌 인덱싱 연산자 []를 사용하여 키에 액세스하는 경우

+2

[물론 그렇습니다] (http://en.cppreference.com/w/cpp/container/map/at) ... –

+1

@KerrekSB (C++ 11 이후)는 그 사실을 몰랐습니다. –

28

는이 자동으로에 대한 키를 추가합니다. 이것은 큰주의 사항이며이를 고려합니다. 이러한 이유 때문에 색인 연산자 인 []을 사용하고, 조회를 위해 .find()/.at()을 사용하는 것이 좋습니다.

[] 이상 .at()를 사용하는 또 다른 장점은 []은하지 않습니다 반면이하는 const std::map에서 작동 할 수 있다는 사실이다.

관련 문제