这些代码之间有区别
|
今天,当我遇到所有我一直做的事情时,我一直在编码,而没有想知道它是否有任何后遗症。
这是做同一件事的两种方法
if(foo != true)
{
bar ++;
}
if(foo == true)
{
}
else
{
bar ++;
}
现在我知道编译器可能会将其优化为同一件事,但是我想知道其中的区别,因为您不能始终依靠它们。
我的问题是,第二种选择真的会因为它在检查中添加另一个命令而招致某种惩罚吗?
是的,这是一个错字。
没有找到相关结果
已邀请:
7 个回复
视蕉梁拌客
而不是
)的事实之外,将布尔值与常量进行比较只是多余的。只需直接测试其值即可:
首先,它消除了通过错别字创建错误的可能性(正如您亲切地展示的那样)。但除此之外,这更合乎逻辑。 (不过请注意,这样做效率不高。这些语句严格等效。)
抽法
\”并不是它在内部的工作方式-只是必须具有一定效果的
语句,这取决于编译器如何实现该效果。仅添加关键字并不一定会导致额外的代码发射。 如果您真的很在意,则应检查发出的机器代码,并查看编译器在每种情况下发出的内容。
死簇
桔适丛
谦响局豢报
设置为true。
假设上述内容是错字,则它们在计算机级别上是相同的,但是在解析时间和写出时间方面不同。
队辅坟阮阶
荒劫娇噬