首页 > 代码库 > C++中的右结合性

C++中的右结合性

看到网上的说是,右结合

但是还是从左往右算

// 以下说法是从网上看的,不知道对不

 

 a ? b : c ? d : e 如何进行呢?
它的结合律是从右向左,所以它等效于 a ? b : ( c ? d : e )
运算还是从左向右,所以先判断a,cde都可能不会被算到。

运算只会从左向右,不存在从右向左。除非有括号  
如a+(b+(c+d)),表面看好像是从右向左,
其实是因为它从左向右侦测,得左值a后发现右值()未知,
于是先暂停,再算右值,以此类似,
最后回溯,把先前暂停的一一重启。