高分请教一个问题:CComBSTR、_bstr_t、BSTR、LPCTSTR、LPSTR、char *、CString等的关系?
C++中关于字符串的定义太多了。我一直搞不清这些东西的概念。
这些类型到底具体指什么?有什么不同?在什么时候使用?
那些是class?那些是指针?那些是结构体?
在使用期间那些要为它分配内存空间那些不需要?相互之间怎样转换?
问题比较多,看那位高人能系统地说明白,给我解惑。如果说不清楚,给我一些资料让我自己看也行。
说句题外话,其实VC的难点就在这些地方,这种定义太多了。随便哪个人喜欢就能#define一些类型。这些定义太相似了,两下就晕了。
你看看同一个东西,有C的定义、有C++的定义、有winAPI的定义、有MFC的定义、还有ATL的定义,分明是人为制造难度。用Delphi、java、VB就没有这种问题。