读书人

有些基础的东西, 小弟我还不了解像=和

发布时间: 2012-02-26 20:19:45 作者: rapoo

有些基础的东西, 我还不了解像=和==的差别
b+c==a
b+c=a 差别

if ((b+c)=a)是比较吗? b+c=a是结果?
if ((b+c)==a) b+c==a 是赋值还是比较 (b+c)==a和b+c==a的差别.


[解决办法]
if ((b+c)=a)是比较吗? b+c=a是结果?
能编译过去么??

=是赋值
==是比较
[解决办法]
b+c==a: 逻辑比较是否相等

b+c=a: 赋值, 一般是非法的, 除非在c++中重载了+返回引用
[解决办法]
to:楼上
简单的说都是赋值,c=a+b和c=(a+b)没有什么区别
a + b = c
就不一样了,如果+没有被重载,那么左值就不可用,这个语句就是错的,若是重载返回引用,那么也可以。。。
[解决办法]
b+c==a
b+c=a 差别

=========>
b+c==a
是错误的,没有这样的语法

b+c=a
============>
这个问题也很大,是表达式么?>
[解决办法]
“=”是赋值的,而“==”是比较的。“=”左值不能是表达式或常量,而 "== "可以是。b+c=a;是个错误的语句,b+c==a;是可以的。
[解决办法]
“=”是赋值的,而“==”是比较的。

复杂的结构,就不用管它了。

读书人网 >C++

热点推荐