gpt4 book ai didi

c++ - ->Release() 是在 COM 对象的析构函数上调用的吗?

转载 作者:太空狗 更新时间:2023-10-29 23:25:06 24 4
gpt4 key购买 nike

如果我有以下内容:

ID3D11Buffer **buffers;    //ID3D11Buffer is a com object
buffers=new ID3D11Buffer* [num];

然后如果我这样做:

delete[] buffers;
每个 ID3D11Buffer*Release() 方法会被自动调用,还是我必须自己调用它们?

最佳答案

对数组调用delete 将销毁数组的每个元素。但是因为每个元素都是一个 POD 哑指针,所以销毁它不会做任何事情。如果你想让COM对象自动释放,你应该使用一个智能指针,比如_com_ptr_t。或 CComPtr .

关于c++ - ->Release() 是在 COM 对象的析构函数上调用的吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4515827/

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