概念:
有关表达式的副作用的概念一般说计算一个表达式的值需要引用一些变量,在表达式求值过程中,需要提取这些变量的值,但并不改变这些变量的值,这样的表达式称为无副作用的表达式.一个表达式在求值过程中,对使用的变量不但引用,对它们的值还加以改变,这样的表达式称为有副作用的表达式。
案例:
对表达式的副作用的分析与理解,有如下四个表达式:1、5*X;2、X+Y;3、X++;4、Y-=18*2.其中表达式1和表达式2是无副作用的表达式,因为在表达式求值过程中,所引用的变量X和Y的值均未发生变化,例如:已知X=5,Y=10,表达式1的值为25,表达式2的值为15,但X的值仍为5,Y的值仍为10,而表达式3和表达式4是有副作用的表达式, 因为在求表达式值的过程中,所引用的变量X和Y的值均发生了变化.例如:x和Y的值初始状态下分别是5和10 经计算后,表达式3的值为5,X的值变为6,表达式4的值为一26,Y的值变为一26