티스토리 뷰

C++

[C++] const map 객체 value 접근

developer0hye 2021. 7. 15. 14:39

map 클래스의 객체 a가 있다고 해보자.

그리고 이 객체가 const 화 되고 b라는 변수로 reference 됐다고 해보자.

 

b에 대한 value 를 접근함에 있어

 

 b["key"] 이런식으로 접근하면 에러가 난다.

 

내용은 error : passing '~' as 'this' argument discards qualifiers 뭐 이런 에러가 뜰 거다.

 

이유는 const 화 된 map 객체에 ["key"]로 접근하면 그 값을 수정할 여지가 발생하기 때문이다.

 

value를 접근하는 다른 방법이 있다. 바로 .at 을 쓰는 것!

 

b.at("key") 이렇게 접근하면 에러 없이 const화 된 map 객체의 value에 접근 가능하게된다.

 

 

참고 링크

 

https://daewonyoon.tistory.com/185

 

CPP/STL const map 객체에 [key] 접근시 에러

#include #include #include int _tmain(int argc, _TCHAR* argv[]) { std::map > dict1({ { "AAA", { 1, 2, 0, 0 } }, { "B", { 2 } } }); const std::map > dict2({ { "abc", { 3, 3, 1, 0 } }, { "def", { 0 }..

daewonyoon.tistory.com

 

댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함