Closed. This question needs to be more focused。它当前不接受答案。
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
在执行序列中某些特定的点(称为顺序点)上,以前评估的所有副作用都应完整,并且以后评估的副作用都不应发生。
谁能用一个初学者的话来解释这些思路和相关术语?
想改善这个问题吗?更新问题,使其仅通过editing this post专注于一个问题。
2年前关闭。
在执行序列中某些特定的点(称为顺序点)上,以前评估的所有副作用都应完整,并且以后评估的副作用都不应发生。
谁能用一个初学者的话来解释这些思路和相关术语?
最佳答案
诸如n++
的表达式具有副作用,即它们不仅会产生结果,而且还会修改变量。*
运算符不引入序列点。因此,在表达式n++ * n--
中未指定,当评估n++
时n
的副作用(递增n--
)是否已经发生。因此,n++ * n--
会产生不同的结果。;
引入一个序列点。如果为n == 5
,则在n++; n--;
之后,n == 5
再次成立。
关于c++ - 简单单词中的顺序点,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31420059/
10-11 00:53