Re[3]: CComBSTR vs _bstr_t
От: VladD2 Российская Империя www.nemerle.org
Дата: 21.10.01 19:20
Оценка:
Здравствуйте retalik, Вы писали:

R>Здравствуйте IT, Вы писали:


IT>>Здравствуйте ligett, Вы писали:


L>>>Какая разница между классами ? Я имею ввиду зачем существует один, если есть другой ? CComPtr и IxxxPtr ? Последний при использовании в клиенте давал interface leak в BoundsChecker. Изменил на CComPtr и лик пропал. Посему и назрел вопрос.


IT>>CComBSTR — часть библиотеки ATL, _bstr_t — часть RTL для поддежки директивы #import. В этом вся разница.


R>Я думаю, стоит еще отметить, что _bstr_t обладает гораздо большей функциональностью (преобразование в LPCSTR, операторы +, <, += и т.д.). Но "ланчей даром не бывает" — этот класс тянет за собой Runtime Library. Поэтому для разработки компактных ATL-компонентов стоит использовать неприхотливый CComBSTR, а в клиентском коде комфортнее использовать _bstr_t.


Ага а еще надо отметить, что _bstr_t обладает неописуемой кривизной и жадностью к рисурсам. И главное, что с ним никогда не сделать COM-обект размером <= 5 килобайтам. ;o)
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.