【发布时间】:2013-12-10 10:03:21
【问题描述】:
我正在学习 C 和 C#,这个问题是针对 C# 的。为什么你会在指针上使用 out 和 ref 关键字?使用指针,您可以直接访问变量。我在 msdn:here 上找到了这段代码。
代码如下:
static int value = 20;
public unsafe static void F(out int* pi1, ref int* pi2)
{
int i = 10;
pi1 = &i;
fixed (int* pj = &value)
{
// ...
pi2 = pj;
}
}
【问题讨论】:
-
C 和 C# 是截然不同的语言,我建议一次只学习两种语言中的一种。您应该不在 C# 中经常使用指针,但应该在 C 中使用它们。
-
不过,要回答您的具体问题,我认为这就像有一个指向指针的指针。
-
您要告诉我们您在 MSDN 上的哪个位置找到了它,还是我们应该猜测?
-
你没有读过 MSDN 上说这是一个你不应该写的代码示例吗?这是向您展示必须避免的危险破坏模式的示例代码,因此您没有理由编写这样的代码。