读书人

减法运算符跟恒等运算符哪个效率更快

发布时间: 2013-01-07 10:02:25 作者: rapoo

减法运算符和恒等运算符,哪个效率更快一些呢?



for(int i = 0; i < 1000; i++)
{
double dValue1 = 12.0;
double dValue2 = 12.0;

if(dValue1 - dValue2 < 0)
{
//
}
if("12.0" == "12.0")
{
//
}
}


上面两个if,用哪个效率更高一点呢?求解答
[解决办法]
第二个高效,它只是比较指针,没有比较字串或者double
第一个有double的运算,浮点指令效率都低

[解决办法]
意思都不一样怎么比效率
[解决办法]
引用:
引用:意思都不一样怎么比效率

就是想了解一下,哪个快一点...


第二个if相当于是 char* p1; 和 char* p2; 比较,实质上是两个整数的比较,很快

如果是
if(dValue1 - dValue2 < 0)

if(dValue1 < dValue2)
比较
则答案是,不考虑优化的话,则后者快,因为对于浮点数,前者比后者多一条指令


[解决办法]
if("12.0" == "12.0")
折叠(内存中是同一个)字符串常量"12.0"的起始地址自己和自己比较!
[解决办法]
引用:
引用:if("12.0" == "12.0")
折叠(内存中是同一个)字符串常量"12.0"的起始地址自己和自己比较!

恩啊,谢谢指正,我那样写的意思是字符串比较。。。

字符串比较使用:

strcmp()或
stricmp()//忽略大小写

读书人网 >C++

热点推荐