BSTR、_bstr_t与CComBSTR都是些什么东西啊?

来源:百度知道 编辑:UC知道 时间:2024/06/22 21:55:30
它们有什么用?是标准C++的内容吗?
看书看不懂,希望您能给我些关于它们的基础知识。
非常感谢!

都是表示字符串的类(你也可以认为他们就是字符串类型。。),除了这些还有STL中的std::string,VC中的CString等等。
因为各种字符有很多种不同的编码以及存储形式,比如unicode啊、宽字符集啊等等,以上几种在各自的领域都属于“常用”,不过以上几种都有相互转换的函数,所以实际使用起来也就是稍显繁琐。
关于字符编码,你可以在网页中右键,然后查看“编码”体验一下。。。更加详细的可以尝试搜索一下UTF8转换为宽字符集之类的代码,然后你就体会到使用ASCII码以外的字符的痛苦了。。

这三个字符串类型都是com字符串,com语言是二进制级别的,跨编程语言(com不是语言,com是一种规范)。com编程用的字符串是什么呢?
char*、wchar_t、CString、std::string吗?
非也,这些都不能直接在com接口里使用。com里基本字符串类型是BSTR,_bstr_t与CComBSTR都是对BSTR的封装。_bstr_t是MFC定义的,方法函数非常少;CComBSTR是ATL类库定义的,功能比较丰富。