如果我有一个布尔值和一些可能会更改它的代码,然后我想将它设置为true
,我应该检查它是否是false
?
例如:
bool b = false;
// Some code
// Here "b" can be true or false
if (cond) {
b = true;
}
对比
bool b = false;
// Some code
// Here `b` can be `true` or `false`
if (cond && !b){
b = true;
}
哪个更快?
注意:
我之所以这样问,是因为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 它可以是质数或不是质数)