我在函数中有以下行来计算序列中“G”和“C”的数量:
count += (seq[i] == 'G' || seq[i] == 'C');
编译器是否足够聪明,在看到“count += 0”时什么都不做,还是他们真的浪费时间“添加”0?
最佳答案
一般
x += y;
比
快if (y != 0) { x += y; }
即使y = 0
,因为第一个选项没有分支。如果它真的很重要,您将不得不检查编译器输出,但不要假设您的方法更快,因为它有时不执行添加。
关于c++ - C/C++ : adding 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7720807/