---
title: "C++"
type: guide
api: [api7]
tags: [guide, api7, cr109311]
sources:
  - cr109311.html
---

*Создание прикладных библиотек  > Рекомендации по созданию прикладных библиотек  > Рекомендации по использованию метода IUnknown::QueryInterface *

В C++ для работы с интерфейсами удобнее всего использовать "умные указатели".
Они умеют выполнять QueryInterface и правильно выполняют захват и освобождение интерфейсов, используя методы AddRef и Release.
IKompasDocumentPtr kompasDoc( KomApp.ActiveDocument );
IDrawingDocumentPtr doc2D( kompasDoc ); // Здесь выполнится QueryInterface
или
IDrawingDocumentPtr doc2D( KomApp.ActiveDocument ); // Здесь выполнится QueryInterface.
