我认为我对编程语言中副作用的理解还可以。
我认为这是维基百科的一个很好的定义:
“除了返回一个值之外,它还修改了一些状态或与调用函数或外部世界有可观察的交互。”
但是,我在同一个链接中阅读了此内容(是的,我知道这可能不是寻找示例的最佳位置):
“副作用行为的一个常见演示是 C++ 中的赋值运算符。例如,赋值返回正确的操作数并具有将该值分配给变量的副作用。这允许在语法上干净的多重赋值:”
int i, j;
i = j = 3;
为什么他们认为这是副作用?这与对 2 个局部变量的两个简单赋值语句相同。
提前致谢。