那麼我們再來看看上次那些 C# 的代碼
//
// MyClass definition
public class MyClass
{
public int Value;
}
//
// Tester methods
public static void TestRef(ref MyClass m
{
// 這裡的 m
// m
// 相當於 C++ 中的
// MyClass** m
// (*m
//
m
}
public static void TestNoRef(MyClass m
{
// 這裡是一個普通的傳遞引用類型的例子
// MyClass m
// m
//
// m
// 所以這裡對 m
//
m
}
public static void TestCreateRef(ref MyClass m
{
// 這裡的 m
// m
// 相當於 C++ 中的
// MyClass** m
// *m
// (*m
// 在上面的 *m
// 也就是說現在 m
// 所以這裡 m
//
m
m
}
public static void TestCreateNoRef(MyClass m
{
// 在這個方法裡面
// 這時候
// 所以對 m
//
m
m
}
public static void
{
MyClass m = new MyClass();
m
TestRef(ref m);
Console
TestNoRef(m);
Console
TestCreateRef(ref m);
Console
TestCreateNoRef(m);
Console
}
[
From:http://tw.wingwit.com/Article/program/net/201311/15017.html