Здравствуйте IT, Вы писали:
IT>Здравствуйте ligett, Вы писали:
L>>Какая разница между классами ? Я имею ввиду зачем существует один, если есть другой ? CComPtr и IxxxPtr ? Последний при использовании в клиенте давал interface leak в BoundsChecker. Изменил на CComPtr и лик пропал. Посему и назрел вопрос.
IT>CComBSTR — часть библиотеки ATL, _bstr_t — часть RTL для поддежки директивы #import. В этом вся разница.
Я думаю, стоит еще отметить, что _bstr_t обладает гораздо большей функциональностью (преобразование в LPCSTR, операторы +, <, += и т.д.). Но "ланчей даром не бывает" — этот класс тянет за собой Runtime Library. Поэтому для разработки компактных ATL-компонентов стоит использовать неприхотливый CComBSTR, а в клиентском коде комфортнее использовать _bstr_t.