【发布时间】:2020-06-02 08:57:01
【问题描述】:
维基百科说:
在计算机科学中,如果某个操作、函数或表达式在其本地环境之外修改了某些状态变量值,即具有除了向操作的调用者返回一个值(主要效果)之外,还有一个可观察的效果。
但是我们如何在其本地环境之外访问一个变量,任何人都可以将这种情况,副作用,主效应和序列点解释清楚吗?
【问题讨论】:
-
例如,函数在返回之前从其代码中修改全局变量。
-
如果你通过引用将一个变量从一个本地作用域传递到另一个作用域,这个变量可以被改变,除非参数是 const 类型。
-
函数内的代码驻留在该函数的范围内,而不是在全局变量所在的全局范围内。如果一个函数只返回一个值并且不修改其范围之外的任何内容,则称为纯函数。
标签: c scope side-effects sequence-points