二元运算符求值顺序问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二元运算符求值顺序问题相关的知识,希望对你有一定的参考价值。
对于没有指定顺序的运算符来说,如果表达式指向并修改了同一对象,将会引发错误并产生未定义行为。如:
int i = 0;
cout << i << " " << ++i; // 未定义
经验:
拿不准时用括号
如果改变了一个运算对象的值,在表达式的其他地方就不要在使用这个运算对象(当改变运算对象的子表达式本身就是另外一个子表达式的运算对象时,是可以的 如:*++iter
以上是关于二元运算符求值顺序问题的主要内容,如果未能解决你的问题,请参考以下文章