【发布时间】:2016-05-13 12:22:39
【问题描述】:
我想在 c++ 中实现类似的东西。这是一个 c# 代码。我想尽可能避免使用原始指针。
class Program
{
public class Foo
{
public int v1;
public int v2;
public Foo(int a, int b)
{
v1 =a; v2 =b;
}
};
public class Bar
{
public static void getFoo(out Foo fooObj)
{
fooObj = new Foo(1,2);
}
};
static void Main()
{
Foo fooObj = null;
Bar.getFoo(out fooObj);
Console.WriteLine("Foo.v1="+fooObj.v1);
Console.WriteLine("Foo.v2="+fooObj.v2);
}
}
【问题讨论】:
-
任何 C++ 教科书或教程都应该解释如何使用引用参数。
-
@Barmar 很少有人(如果有的话)会解释正确的方法(按照 Jose 的回答)。许多人会使用原始指针或对对象的引用,它们在功能上与 C# 版本相当。
标签: c++ pass-by-reference