下面选择API的原因是什么:
QString QString::fromStdString(const std::string & str) [static]
当我们有一个构造函数时,为什么需要调用静态函数:
QString::QString(const std::string & str)
c字符串表示(char *)有类似的构造函数,std :: string是例外。这是什么原因?
答案 0 :(得分:2)
Qt早于explicit
构造函数,它无法无偿地破坏现有客户端。另一个原因是std::string
和QString
不一定在同一个编码/代码页中,而静态方法明确表示会发生一些更昂贵的转换。