gpt4 book ai didi

c++ - 我的 C++ 类必须是 Windows 8 Metro 风格应用程序中的引用类吗?

转载 作者:塔克拉玛干 更新时间:2023-11-03 01:38:30 25 4
gpt4 key购买 nike

我知道,如果我想将我的 C++ 代码作为 WinRT 组件共享给 .Net 和 JavaScript 代码,我必须将我的类声明为 public ref MyClass sealed。但是,如果我有一个我只想在我的应用程序中使用的类,它是否需要是一个 ref 类?

假设我有一个简单的建筑类。是否可以定义如下

#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 类。

最佳答案

Herb Sutter recommends (12 分钟内)您仅在程序边界使用非标准 C++/CX,您的 C++ 代码必须与 WinRT 交互。因此,这意味着您只打算从 C++ 使用的类不需要是 ref 类或使用 ISO 标准 C++ 以外的任何东西。

关于c++ - 我的 C++ 类必须是 Windows 8 Metro 风格应用程序中的引用类吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10424032/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com