std::map についてなんですが、
"operator ()" はあっても "operator () const" ってのは無いんですね…ガッカリ…
ちゅーのも
int CManna::GetValue(CUINT nID) const
{
return m_mapInstance[nID];
}
という感じのコード書いたら怒られまして。値変更しないんだから、どーにかして欲しいなぁ〜とか思ってみたり。
とはいえ、そんなワガママが通るわけも無いので、(何か理由もありそうですし)
int CManna::GetValue(CUINT nID) const
{
return m_mapInstance.find(nID)->second;
}
とか書いてます。…が、どーみても、ダサイ。このコードは…
…ちゅーか、よくよく考えてみれば、
・iterator find()
・const_iterator find() const
の2つがあるんであれば、
・mapped_type& operator
・const mapped_type& operator const
(mapped_type == 第2引数の型)
ってのがあっても良い気がするんだけどなぁ〜
う〜む。