21xrx.com
2024-11-05 17:23:17 Tuesday
登录
文章检索 我的文章 写文章
C++中的a=b
2023-06-29 12:56:59 深夜i     --     --
C++ a=b b=c c=s 理解

在C++语言中,a=b;b=c;c=s这行代码可能让一些初学者感到困惑。究竟是把s赋值给c,c赋值给b,还是b赋值给a?看起来好像存在循环赋值的问题,但实际上这一行代码并不会出问题。

实际上,这一行代码的赋值顺序为:先将s赋值给c,然后将c赋值给b,最后将b赋值给a。也就是说,这行代码中的赋值顺序是从右至左逐步赋值的,而不是同时进行的。

这种链式赋值的方式是C++语法中的一种很常见的写法。它是基于一个简单的语法规则:赋值运算符返回被赋值的对象的引用。因此,在a=b=b=c=s这行代码中,赋值运算会被依次执行,并最终返回a的引用。

当a=b时,b的值已经被赋给了a。然后,当b=c时,c的值也被赋给了b。最后的赋值操作c=s,将s的值赋给了c。因此,我们可以得出a=b=b=c=s的逐步执行顺序:

1. s的值被赋给c

2. c的值被赋给b

3. b的值被赋给a

需要注意的是,在实际编程中,虽然链式赋值是一种很常见的写法,但它并不一定总是最好的选择。在某些情况下,链式赋值可能会引起不必要的副作用和难以调试的错误。因此,建议在编写代码时,谨慎使用链式赋值语句,保持清晰简洁的代码风格。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复