WinRT C++ ComPtr GetAddressOf vs&

Joh*_*alk 4 c++ directx-11 windows-runtime

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

ComPtr<ID3D11Buffer> constantBuffer;
Run Code Online (Sandbox Code Playgroud)

我想知道的是,使用&constantBuffer和有constantBuffer.GetAddressOf()什么区别?

有时他们都工作正常,但有时使用&constantBuffer会导致我的程序崩溃与访问冲突.

not*_*row 6

你看过文档了吗?

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

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