【C++】 const だけでメシが3杯食えちゃうスレ
■ このスレッドは過去ログ倉庫に格納されています
0485デフォルトの名無しさん
NGNGってことは、
map<int,value_type> const m;
value_type const& v1 = m[0];
value_type const& v2 = m[0];
としたとき、 &v1 != &v2 なわけだな。ちょっと気になるな。
operator [] でプロキシを返すと、
map<int,map<int,int> > const m;
int n = m[0].size();
こんなんできなくなりそう。
> const [] に対応することもできたはずなんだが……なぜそうならなかったのかは知らない。
要素が無かった場合への対応がいろいろ考えられるし、
std::map自身の立場ではどれが一般的とも言えないからでしょ。
たとえば>>482のような対応が常に正解とは言えないし、
そういう対応が適している場合には、std::mapを拡張して実装すればいい。
こんなこというと、 operator [] 自体がダメだったとも言えるけど、
実際のところダメだったんじゃないかと思う。
■ このスレッドは過去ログ倉庫に格納されています