我想将 QString 中的值分配给 const std::string
QString qfile("some value");
这是 const std::string 变量
const std::string file
我正在使用的代码
file = qfile.toStdString();
上面的代码适用于普通的 std::string 。但是由于关键字'const'存在一些问题。我该如何解决?
不要使用赋值运算符来初始化std::string
对象,而是直接初始化变量。
const std::string file = qfile.toStdString();
除此之外,请确保您了解编码的QString::toStdString()
用途;不像QString
,std::string
与编码无关(它是一串字节,而不是字符)。
常量是具有固定值的表达式。
const
您还可以通过复制 的返回值来摆脱toStdString()
:
QString str("text");
std::string std_str(str.toStdString());