WinRT C ++ ComPtr GetAddressOf vs&

时间:2012-12-22 22:10:52

标签: c++ windows-runtime directx-11

我刚刚开始使用DirectX 11.1 for Windows 8应用程序,我得到了以下ComPtr,例如:

ComPtr<ID3D11Buffer> constantBuffer;

我想知道的是,使用&constantBufferconstantBuffer.GetAddressOf()之间的区别是什么?

有时它们都可以正常工作,但有时使用&constantBuffer会导致我的程序因访问冲突而崩溃。

1 个答案:

答案 0 :(得分:5)

您是否阅读过文档?

GetAddressOf - 检索ptr_ data成员的地址,该成员包含指向此ComPtr表示的接口的指针。

Operator& - 释放与此ComPtr对象关联的接口,然后检索ComPtr对象的地址。