-2

我有一个代码flush[*it % 4].push_back(*(it++) /= 4);,它的目的是在增加 it 迭代器之前 push_back 新值(旧值/4),是这样还是如何以最快的方式从迭代器中获取值,将其除以 4,存储它,使用 push_back 中的新值,然后增加迭代器?

4

1 回答 1

5

这太恶心了。是否it在之前或之后增加*it % 4?Protip:它没有定义,所以你的代码没有明确定义的结果。这真是太糟了。此外,这通常是一团糟——您已经对一个变量进行了两次读取和一次写入,以及一次赋值、一次函数调用一次索引。一种表达方式就很多了。

使用多个语句来实现您的逻辑。

于 2012-09-16T18:00:03.737 回答