"输入"和"输出"关键字在D中的含义是什么?

Jer*_*oen 4 d

D中的inout关键字实际上意味着什么?通过查看使用这些参数的函数,我理解该in关键字用于函数输入,out关键字用于基本上通过引用传递的参数.

这种理解是否正确,他们实际允许或禁止程序员做什么?

Ada*_*ppe 8

是的,你基本上得到它.in扩展到const scope意味着你不能改变变量(或它指向的任何东西),也不应该在任何地方保持对它的引用(scope尽管在大多数情况下实际上并没有实现).基本上in就是看,不要碰.

out表示给定变量接收值.它非常相似ref- 在函数内部也可以看到它的变化 - 外部变量被初始化为正常初始值的小差别,清除它们在调用函数之前的值.

基本上,void foo(out int a) {}==void foo(ref int a) { a = 0; /* inserted automatically */ }