李超

cc编程笔记本。

  博客园 :: 首页 :: 博问 :: 闪存 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理 ::
以后杂项积累的乱七八糟的东西就往这里放好了,C++里面的乱七八糟的东西太多了。
====================================================
icrsint.h 包含了VC++扩展的一些预处理指令,宏的定义,做COM编程的时候包含一下该文件。
====================================================
字符串相关类型的推荐选择顺序
1 stl::string/wstring 功能最完善,可移植性最好。 

2 CString 如果编码规范限制使用STL的时候,推荐CString。VC 6的版本很不完善。.Net有明显改进,需要进一步研究。

3 C/C++ basic type(TCHAR* / char* / LPTSTR / LPCTSTR / TCHAR[]) 结构体中,优先使用指定最大长度的字符数组。效率最好

4 CComBSTR/ _bstr_t 在必须使用BSTR时的优先选择。在ATL(COM component)工程或者工程中必须使用ATL中,优先选择CComBSTR。一般Exe/dll如果_bstr_t能满足要求,优先使用_bstr_t。对于VC6,使用_bstr_t一定要慎重,最好只用作简单临时变量保存调被调用函数的传入参数。因为_bstrt_t不能支持一些关键性操作,比如Detach。对于VC++ .Net推荐使用_bstr_t,它是C++扩展,不需要额外包含ATL的文件。

5 BSTR COM接口

==========================================================
_variant_t   是variant   的包装类   
_bstr_t   是bstr的包装类   
variant   类型可以存放任何数据类型,其实在com中variant是一个结构   
bstr是存放字符串的指针,但是双字节的,类似unsigned   short   *
posted on 2008-01-24 15:46  coderlee  阅读(318)  评论(0编辑  收藏  举报