【问题标题】:WinRT C++ Create a shallow copy of an objectWinRT C++ 创建对象的浅拷贝
【发布时间】:2012-10-17 10:58:25
【问题描述】:

根据 Platform::Object Class docs (http://msdn.microsoft.com/en-us/library/windows/apps/hh748265.aspx),有一种方法可以创建浅拷贝:

[MemberwiseClone] 方法 创建当前对象的浅表副本。

如何使用它?我试过object->MemberwiseClone(), Object::MemberwseClone(),没有成功?

谢谢

【问题讨论】:

    标签: microsoft-metro windows-runtime


    【解决方案1】:

    没有这样的成员函数;文档不正确。如果你想让你的一种类型可复制,你可以实现一个构造函数来创建一个副本或一个返回副本的成员函数。

    (我会通知相关人员以便更正文档。)

    【讨论】:

    • 有没有办法以编程方式访问每个属性的名称和值?
    • 在 .NET 中可以使用反射。但是“复制”一个对象通常不仅仅意味着克隆成员。如果你在 C++ 中实现你的类型并且你想实现一个成员副本,将成员包装在一个类中,并让你的运行时类具有该类型的单个数据成员。然后,您的复制操作可以简单地复制该数据成员。
    猜你喜欢
    • 2018-02-03
    • 2011-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-23
    相关资源
    最近更新 更多