我在MFC中看到“CString”,在QT中看到“QString”。 string,CString,QString之间有什么区别? 为什么不直接使用“string”?
答案 0 :(得分:2)
它们在字符串类型上有不同的变化。
std::string
是ISO标准中的一个,在您想要可移植性的情况下可能是首选。它必须由声称符合标准的所有实现提供。
CString
来自MFC(记录为here),通常只能在该环境中使用。如果您只为Windows编程,则可以使用它。它可能具有std::string
未提供的额外功能。
同样,QString
是Qt变体,记录为here,用于表示使用Qt的程序中的字符串。与CString
一样,它与环境的关系更紧密,因此可以提供超过std::string
的效率。
答案 1 :(得分:2)
环顾四周(基本上为你做研究)我发现了一些东西。
String
:不支持字符编码,与其他编码没有特殊功能(。)
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
......其他地方
....为了更好地利用自己的框架而工作
我希望我能提供帮助,因为这是我的第一篇文章。