我有一个代码flush[*it % 4].push_back(*(it++) /= 4);
,它意味着在递增it迭代器之前push_back新值(旧值/ 4),它是这样的,或者如何以最快的方式从中获取值迭代器,除以4,存储它,在push_back中使用新值然后增加迭代器?
答案 0 :(得分:5)
那太讨厌了。 it
之前或之后*it % 4
会增加吗? Protip:它没有定义,所以你的代码没有明确定义的结果。这真是太糟了。此外,它通常是一个混乱 - 你已经对一个变量进行了两次读取和写入,一个赋值,一个函数调用,和一个索引。这对于一个表达来说非常重要。
使用多个语句来实现您的逻辑。