列表push_back期间的C++ postfix增量

Luk*_*ich -2 c++ iterator push-back dereference postfix-operator

我有一个代码flush[*it % 4].push_back(*(it++) /= 4);,它意味着在递增it迭代器之前push_back新值(旧值/ 4),它是否正确或如何以最快的方式从迭代器获取值,除以4,存储它,在push_back中使用新值然后增加迭代器?

Pup*_*ppy 5

那太讨厌了.是否it得到递增之前或之后*it % 4?Protip:它没有定义,所以你的代码没有明确定义的结果.这真是太糟了.另外,它通常是一个混乱 - 你已经对一个变量进行了两次读取和写入,一个赋值,一个函数调用一个索引.这对一个表达来说很重要.

使用几个语句来实现您的逻辑.