我想将 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());