簡単に言えば、それは有効ですか:
map<int,int>m;
m.insert( make_pair( 1, 40 ) );
for( map<int,int>::iterator it = m.begin(); it != m.end(); ++it )
{
const_cast<int&>( it->first ) = 2;
}
それは機能します、私はこの問題に遭遇しました。実際の場合、マップは2つのクラスのマップであり、クラスmap<classA,classB>
の非定数メンバーにアクセスする必要がありましたconst_cast<classA&>(it->first).NonConstFunction()
。これは私の頭に浮かんだ最初のアイデアでした心、これをしても大丈夫ですか、それとももっと良いことがありますか?