Я видел такой ответ:Какой стандарт C++ лучше COM?
COM - это собственная техника. Он удовлетворяет некоторые особые потребности, но нарушает множество хороших технических принципов. Например, твердый. Стандарт имеет лучшие способы, чем использование COM. - mkaes
Очень интересно знать, что это за «лучшие способы»?
Мы используем в нашем проекте базовый класс IUnknown, но не COM-технологию. IUnknown позволяет нам:
- имеет хороший указанный интерфейс абстрактных классов;
- использовать его add()/release() в качестве основы для интрузивных умных ptrs;
- механизм использования QueryInterface() должен быть более эффективным, чем dynamic_cast;
Хорошо, существует boost :: intrusive_ptr, но пока это не стандарт. И даже если бы он был там, это будет отдельный класс для решения задачи интрузивного умного ptr. Если предположить, что там, да я мог бы сделать что-то, как
interface ITable : intrusive_ptr {}
interface IField : intrusive_ptr {}
Но как насчет QueryInterface механизма()?
P.S. Этот вопрос НЕ о COM вообще.
Интересный сайт ... модераторы стереть здесь 30 комментариев, где хотя бы один модератор сказал глупость о COM и ActiveX ... Итак, мы модерируемся людьми, которые очень активны (студенты?), Но не являются глубокими экспертами ? Отлично :) –