【发布时间】:2015-08-13 22:47:53
【问题描述】:
我有一个 C++/CX 引用类,其中包含一个非托管 C++ 类的指针。 ref 类不需要任何复制构造函数,因为它们由引用购买管理,在这种情况下我是否需要编写 ref 类的复制构造函数以避免该非托管指针的任何浅拷贝?
【问题讨论】:
标签: c++ c++-cx winrt-component
我有一个 C++/CX 引用类,其中包含一个非托管 C++ 类的指针。 ref 类不需要任何复制构造函数,因为它们由引用购买管理,在这种情况下我是否需要编写 ref 类的复制构造函数以避免该非托管指针的任何浅拷贝?
【问题讨论】:
标签: c++ c++-cx winrt-component
C++ 编译器强制执行ref class 的引用类型行为。并且通过 not 自动生成复制构造函数和赋值运算符来实现这一点,就像它对常规 C++ 类所做的那样。如果您尝试复制构造,您将被:
类“Foo::Bar”没有合适的复制构造函数
所以不,故意= delete 不是必需的。使用您的 ref 类的客户端语言将具有相同的限制。
【讨论】: