Vala中"ref"和"out"关键字的目的是什么?

Jea*_*dey 0 c# parameter-passing vala

这些关键字应该如何以及何时使用?

它们与C#的目的是否相同?

Mik*_*ain 6

文件表明,他们是完全一样在C#:

  • 来自调用方的"输出":您可以将未初始化的变量传递给方法,并且您可能希望在方法返回后将其初始化
  • 来自被叫方的'out':该参数被认为是未初始化的,您必须初始化它
  • 来自调用者方的'ref':您传递给方法的变量必须初始化,并且可以通过该方法更改或不更改
  • 来自被叫方的'ref':该参数被认为是初始化的,您可以改变它