有些基础的东西, 我还不了解像=和==的差别
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;是可以的。
[解决办法]
“=”是赋值的,而“==”是比较的。
复杂的结构,就不用管它了。