QString fromStdString静态函数而不是构造函数

时间:2014-04-05 15:48:47

标签: c++ qt api

下面选择API的原因是什么:

QString QString::fromStdString(const std::string & str) [static]

当我们有一个构造函数时,为什么需要调用静态函数:

QString::QString(const std::string & str)

c字符串表示(char *)有类似的构造函数,std :: string是例外。这是什么原因?

1 个答案:

答案 0 :(得分:2)

Qt早于explicit构造函数,它无法无偿地破坏现有客户端。另一个原因是std::stringQString不一定在同一个编码/代码页中,而静态方法明确表示会发生一些更昂贵的转换。