トップページ > プログラム > 2016年11月16日 > /Uxm/UCLM

書き込み順位&時間帯一覧

23 位/187 ID中時間01234567891011121314151617181920212223Total
書き込み数0000000000000000000000022



使用した名前一覧書き込んだスレッド一覧
691 (ワイモマー MM8f-5NgJ)
C++相談室 part127 [無断転載禁止]©2ch.net

書き込みレス一覧

C++相談室 part127 [無断転載禁止]©2ch.net
694 :691 (ワイモマー MM8f-5NgJ)[sage]:2016/11/16(水) 23:27:11.73 ID:/Uxm/UCLM
お二方、レスありがとう。チョット気になっているのは、簡略化して書くと
以下のようなコードで
struct S {
double x, y, z;
...
bool operator < (const S& rhs) const {
if (x < rhs.x) { return true; }
if (x > ...
}
};
std::map<Struct S, int> mp;
mp[{1.,2.,3.}] = 3;
...その他いろんな値を設定;

auto it = mp.find({4.,5.,6.});
if (it != mp.end()) {
it->second = 4.,5.,6.に対応する新しい値;
} else {
mp.find({4.,5.,6.}) = 初期値;
}

キーがあったときは値を更新し、なかったときだけ作成するように
したいのですが、このfindによるキーが同じかの比較も
operator < が呼び出され、==のオーバーロードは不要と
考えてよろしいでしょうか?
C++相談室 part127 [無断転載禁止]©2ch.net
697 :691 (ワイモマー MM8f-5NgJ)[sage]:2016/11/16(水) 23:41:06.48 ID:/Uxm/UCLM
皆さんレスありがとうございました。
参考にさせていただきます。


※このページは、『2ちゃんねる』の書き込みを基に自動生成したものです。オリジナルはリンク先の2ちゃんねるの書き込みです。
※このサイトでオリジナルの書き込みについては対応できません。
※何か問題のある場合はメールをしてください。対応します。