C ++表达式的所有可能结果?

时间:2017-02-03 11:26:20

标签: c++

根据5/1(标准):

  

表达式可能会导致值,并可能导致副作用。

显然我们有两种可能的选择:
1)表达导致值并引起副作用
2)表达导致值并且不会引起副作用

其他可能的选择是什么? (例如,是否存在任何不会产生值的表达式?)
我想到了带有void返回类型的throw-expressions和函数。我们可以将它们引用到第一类或第二类(具有可能副作用的void类型的值)吗?

3 个答案:

答案 0 :(得分:6)

  

其他可能的选择是什么?

  1. 表达不会导致值并导致副作用
  2. 表达不会导致值并且不会导致副作用
  3. 具有void返回类型的表达式不会产生值。 4.中的表达式不会影响程序的行为。

答案 1 :(得分:0)

鉴于exit(0)是一个表达式,我们必须包括评估表达式结束程序的可能性。

答案 2 :(得分:-1)

对函数返回void的任何调用都没有值。

  

void type的值

虚空没有价值。