2013-11-25 449 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
...别处
....建有自己的框架

更好的工作,我希望我是有帮助的,因为这是我的第一篇文章。

相关问题