【问题标题】:Definitions of: AnsiString, WideString, String, char[], char*, BSTR,定义:AnsiString、WideString、String、char[]、char*、BSTR、
【发布时间】:2012-03-16 19:23:20
【问题描述】:

这是this question的后续行动

AnsiString 也是一个类?还有string?它是一个类?还有char[]?

我们可以说WideString 是双字节字符的包装,AnsiString 是单字节字符的包装,char[] 是单字节字符的数组吗? string 不太清楚它是什么......

不确定我在 Code Builder C++ 2007 中可用的不同类型的字符串类型及其可移植性。

【问题讨论】:

    标签: string char c++builder widestring ansistring


    【解决方案1】:
    • AnsiString是一个类提供的C++ Builder,
    • std::string是C++标准库提供的类,
    • char [] 创建一个字符类型的数组,
    • char * 创建一个指向类型字符的指针,
    • BSTR 是 Windows COM 特定的字符串类。

    AnsiStringBSTR 是不可移植的,而 std::stringchar []char* 是完全可移植的。

    【讨论】:

    • 另外值得注意的是 System::String 在 2007 年及更早版本是 AnsiString 的别名,但在 2009 年及以后版本是 UnicodeString。
    • WideStringUnicodeStringstd::wstring 也是 C++Builder 中可用的类。 WideString(这是 BSTR 的包装器)和 UnicodeString 编码为 UTF-16,但 std::wstring 的编码取决于平台,因为 wchar_t 在某些平台上为 16 位,而在某些平台上为 32 位在其他人身上。
    猜你喜欢
    • 2016-01-21
    • 1970-01-01
    • 2011-04-08
    • 1970-01-01
    • 2010-10-11
    • 1970-01-01
    • 2011-04-21
    • 1970-01-01
    • 2013-01-04
    相关资源
    最近更新 更多