Qt - 混合Qt和std :: C++类型

Pet*_*217 7 c++ qt std

更多的是自定义和练习题,但它是否被认为是不好的形式,或者是高度不可取的(选择你对不良的解释),在一个程序中混合使用Qt库类型和类似的标准C++类型?

例如,坚持使用ONLY QStrings进行字符串使用是非常明智的,还是人们经常在源文件中混合使用QString和std :: string类型?

我继承了一些代码,包括在一个文件中使用QString和std :: string,我想知道是否要将所有内容转换为其中一个.

小智 7

我认为这真的归结为"这取决于你在做什么."当然,将事物保持为一种类型更容易.然而,有时您可能需要传递std :: strings或传递QStrings,并且在不执行转换时可能性能更好.

还要记住,QStrings与std:strings不同.因此,在它们之间进行转换时要记住这一点(或选择仅使用某种类型).


pne*_*zis 5

检查这个博客帖子是比较STL对QTL和std::stringQString.

我的2美分

这真的取决于你在做什么.一般来说,当我编写Qt不需要的东西(例如图书馆)时,我总是使用STL.在另一方面,如果我是一个GUI应用程序编写代码,我宁愿使用QTL和和QStringSTLstd::string.如果我想这个代码与利用被写入库整合STL我提供重载函数进行转换,从STLQTLQStringstd::string.

QStrings是必须的如果您想使用本地化您的应用程序,tr()QLinguist使其变得容易.