to get ready...
关于CString的两个问题读CString,string,char*的综合比较(一) 1 CString的基类在《比较》一文中,写到:“CString(typedef CStringT<TCHAR, StrTraitMFC<TCHAR>> CString)为Visual C++中最常用的字符串类,继承自CSimpleStringT类,主要应用在MFC和ATL编程中,主要数据类型有char(应用于ANSI),wchar_t(unicode),TCHAR(ANSI与unicode均可);”我第一感觉就是文章写错了,因为我看过CString的源码的啊:
但是看文章的样子,也不像是粗制滥造的,心里很是疑惑。后来再打开VC7的源码看,果然:
看来微软在不知不觉中做了这么大的变化。2 “string是方便的,可以从几乎所有的字符串构造而来,包括CString和char*; CString次之,可以从基本的一些字符串变量构造而来,包括char*等; ”的确,如下的代码是可以编译的:
但是这是表明string比CString方便吗?实际上,在string sTest(strTest);中有一个函数被调用,就是:
然后才是string构造生成,这能说是string比CString方便吗?应该说是CString比string方便才好。虽然可以用
来初始化CString,但是CString没有参数为string的构造函数,也是一个小小的遗憾,毕竟string是c++标准库的一部分了。
Powered by: C++博客 Copyright © flyingxu