2013-11-25 451 views

回答

2

它們是字符串類型的不同變體。

std::string是ISO標準中的一個,可能在需要可移植性的情況下首選。所有聲稱符合標準的實現都需要提供。

CString就像你說的那樣,來自MFC(記錄在案here),通常只能在該環境下工作。如果您專門爲Windows編程,則可以使用它。它可能具有不是由std::string提供的額外功能。

類似地,QString是Qt變體,記錄爲here,並且意在代表使用Qt的程序中的字符串。像CString一樣,它的環境更緊密,因此可以提供高於std::string的效率。

1

環顧四周(基本上爲你做你的研究)我發現了一些東西。

String:不支持字符編碼,沒有特殊的功能VS別人
QString():有用的功能,一些更好的兼容性,大量支持字符編碼,默認UTF-16
CString(。):大量有用的功能,一些更好的兼容性,以及良好的Unicode和ASCII彙編(..),...

也有一些是在這裏沒有提到更多的東西,來源是

http://blog.rburchell.com/2010/08/strings-and-qt.html
.. http://forums.codeguru.com/showthread.php?319932-CString-vs-std-string
...別處
....建有自己的框架

更好的工作,我希望我是有幫助的,因爲這是我的第一篇文章。

相關問題