';在';和';输出';关键词D中的平均值?

';在';和';输出';关键词D中的平均值?,d,D,D中的in和out关键字实际上是什么意思和作用?通过查看使用这些参数的函数,我了解到in关键字用于函数输入,out关键字用于基本上通过引用传递的参数 这种理解正确吗?他们到底允许或不允许程序员做什么 是的,你基本上明白了扩展到const scope意味着您不能更改变量(或它指向的任何对象),也不应该在任何地方保留对它的引用(scope在大多数情况下实际上都没有实现)。基本上,中的是看,不要碰 out表示给定变量接收一个值。它非常类似于ref——函数内部对它的更改也可以在外部看到——区别很小,ou

D中的
in
out
关键字实际上是什么意思和作用?通过查看使用这些参数的函数,我了解到
in
关键字用于函数输入,
out
关键字用于基本上通过引用传递的参数


这种理解正确吗?他们到底允许或不允许程序员做什么

是的,你基本上明白了<中的code>扩展到
const scope
意味着您不能更改变量(或它指向的任何对象),也不应该在任何地方保留对它的引用(
scope
在大多数情况下实际上都没有实现)。基本上,中的
是看,不要碰

out
表示给定变量接收一个值。它非常类似于
ref
——函数内部对它的更改也可以在外部看到——区别很小,out变量初始化为其正常的init值,清除了调用函数之前的值


基本上,
void foo(out int a){}
=
void foo(ref int a){a=0;/*自动插入*/}

只是一个相关的注释。这些关键字也在契约式设计功能中使用。
void func(int-value)
void func(const-int-value)
有何不同?它没有。由于
int
是一种值类型,
scope
不允许引用转义的(假定的,同样没有真正实现的)限制不适用。