我知道,如果我想将我的 C++ 代码作为 WinRT 组件共享给 .Net 和 JavaScript 代码,我必须将我的类声明为public ref MyClass sealed
. 但是,如果我有一个只想在我的应用程序中使用的类,它是否需要是一个 ref 类?
假设我有一个简单的 Building 类。可以定义如下
#pragma once
class Building
{
public:
Building(int cap);
~Building(void);
int get_capacity() {return capacity;}
private:
int capacity;
};
然后像这样使用
std::shared_ptr<Building> bldg = std::make_shared<Building>(5);
我仍然希望使用 make_shared 将其实例化为 shared_ptr 以获取引用计数,但我只是在什么时候需要将其设为 ref 类感到困惑。