Ich verwende ComPtr (Microsoft :: WRL), um einige DirectX11-Ressourcen zu verwalten. Wie kann ich es manuell freigeben?ComPtr manuell freigeben
Die „ReleaseAndGetAddressOf“ Methode, wenn ich richtig verstehe, befreit nur den Zeiger und nicht die Ressource selbst (die zurückgegeben wird), und ich bin über die „Reset“ Methode nicht sicher.
Die einzigen Alternativen, die ich denken konnte, sind manuell den Zeiger Destruktor aufrufen, oder nach dem Erhalt der rohen Zeiger von "ReleaseAndGetAddressOf" Aufruf "Release" auf, die ich gerne vermeiden würde.
Ihre Beschreibung von ReleaseAndGetAddressOf() ist falsch. Es gibt die Ressource frei und gibt die Adresse des umbrochenen Zeigers zurück, wo Sie einen anderen Zeigerwert speichern könnten. "Das Freigeben auf diesem" sollte geschrieben werden "Freigeben auf einem jetzt-hingenden Zeiger, um mein Programm zum Absturz zu bringen". –