私は++や - をどこかの行に置くことはほとんどありません。私はそれらが未定義の動作につながる可能性があり、デバッグのために地獄になる可能性があることを知っています。しかし、冗長な目的のために、私は誘惑を受けます。この有効なコードですか?割り当ての有効なC++の右側にあるプレデクリメント演算子を使用していますか?
map<int, int> dict;
...
int key = ...;
if (dict.lower_bound(key) != dict.begin()) {
int prevval = (--dict.lower_bound(key))->second;
...
}
私はちょうど
int prevval = (dict.lower_bound(key)-1)->second;
を行うためにようをいただきたいが、双方向イテレータはoperator-()
が定義されていません。
ありがとうございます!
操作シーケンスが不明な場合は、括弧を使用してください – Ulterior