我刚刚开始使用DirectX 11.1 for Windows 8应用程序,我得到了以下ComPtr,例如:
ComPtr<ID3D11Buffer> constantBuffer;
我想知道的是,使用&constantBuffer
和constantBuffer.GetAddressOf()
之间的区别是什么?
有时它们都可以正常工作,但有时使用&constantBuffer
会导致我的程序因访问冲突而崩溃。
答案 0 :(得分:5)
您是否阅读过文档?
GetAddressOf - 检索ptr_ data成员的地址,该成员包含指向此ComPtr表示的接口的指针。
Operator& - 释放与此ComPtr对象关联的接口,然后检索ComPtr对象的地址。