6
[]演算子がSTLマップのconstではないのはなぜですか?
質問のために考案された例: void MyClass::MyFunction( int x ) const { std::cout << m_map[x] << std::endl } []演算子は非定数であるため、これはコンパイルされません。 []構文は非常にきれいに見えるので、これは残念です。代わりに、私は次のようなことをしなければなりません: void MyClass::MyFunction( int x ) const { MyMap iter = m_map.find(x); std::cout << iter->second << std::endl } これはいつも私を悩ませてきました。[]演算子が非定数なのはなぜですか?