C++中+ =和= +之间的差异

spu*_*rra 9 c++ operators

在用C++编程时,我经常混淆"+ ="和"= +",前者是我实际意思的算子.Visual Studio似乎同时接受它们,但它们的行为却不同,并且是我很多bug的来源.我知道a + = b在语义上等同于a = a + b,但是"= +"是做什么的?

Dan*_*ite 15

=+是真的= +(赋值和一元运算+符).

为了帮助您记住+=,请记住它首先添加,然后分配.当然这取决于实际的实现,但它应该是基元.


Iva*_*nko 10

a =+ b意味着a = +b手段a = b

  • 除非一元"+"超载. (11认同)

Abd*_*man 6

如果您看到=第一个,则意味着您重新声明了变量值,但如果您遇到+第一个,则意味着您命令编译器递增变量的值,请牢记在心

int x=20 ;
x=+10 ;
cout<< x <<endl ; // x  = 10


x+=10 ;
cout<< x<<endl ; // x= 10+10 = 20
Run Code Online (Sandbox Code Playgroud)