如果我有一个布尔变量和一些可能会改变它的代码,然后我想将其设置为true
,那么我应该检查它是否为false
吗?
例如:
bool b = false;
// Some code
// Here "b" can be true or false
if (cond) {
b = true;
}
vs
的翻译是:vs。bool b = false;
// Some code
// Here `b` can be `true` or `false`
if (cond && !b){
b = true;
}
哪种更快?
注意:
我之所以问这个问题,是因为下面这个实现埃拉托斯特尼筛法(Sieve of Eratosthenes): http://bloc.gerardfarras.com/wp-content/uploads/2011/12/erastotenes.txt
if (( i % divisor == 0 ) && ( numsprimers[i] == 0 )) {
numsprimers[i] = 1;
}
(如果numsprimers[i]==1
,则表示i
不是质数。如果它是0,则可以是质数也可能不是)