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