【发布时间】:2015-05-12 02:43:27
【问题描述】:
比较 QString 和 char* 的最有效方法是什么
if( mystring == mycharstar ) {} 将执行 malloc,
和
if(strcmp(mystring.toLocal8Bit().constData(),mycharstar ) == 0) {}
将分配一个QByteArray
我不希望发生任何分配, 你们会推荐吗?
怎么样
if(mystring == QLatin1String(mycharstar))
会更好吗?
【问题讨论】:
-
本能地我会做
mystring.toAscii() == mycharstar,但我没有分析过,所以不要听我的。 -
为什么使用 char* 而不是 std::string ?
-
tux3 - Ascii 也将分配并进行转换。
-
一切都取决于您要使用的编码。您可能必须制作自己的比较功能
标签: performance qt malloc qstring