gpt4 book ai didi

c++ - WinRT C++/CX 组件 ComPtr 与 native 指针

转载 作者:搜寻专家 更新时间:2023-10-31 01:52:30 25 4
gpt4 key购买 nike

我正在查看 WinRT 的一些 Direct3D 代码并注意那里的“引用类”使用“ComPtr<ID3D11Device1>”而不是“ID3D11Device1*”。所以我的问题是你必须在“ref 类”中使用“ComPtr”还是可以使用“ native 指针”??

现在我在 ref 类中使用 native 指针,因为我的 C++ 文件也用于编译托管 C++。但有时我会在 WinRT 中遇到奇怪的行为,并认为它可能与 ComPtr 有关。

最佳答案

不是必须要用,但往往很方便。

管理 COM 对象生命周期的是 COM 对象的引用计数智能指针。如果您使用原始指针,您通常无法保证 COM 对象仍然存在。如果您认为这可能与您的问题有关(例如,您在调用 COM 方法时遇到访问冲突),那么使用它们是有意义的。无论如何,与 COM 方法调用相比,引用计数的性能损失不算什么。

关于c++ - WinRT C++/CX 组件 ComPtr 与 native 指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12551611/

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