我想在QString的值赋给一个const的std :: stringQString时,常量的std :: string
QString qfile("some value");
这是常量的std :: string变量
const std::string file
代码我使用
file = qfile.toStdString();
上面的代码工作正常的std :: string。但由于关键字'const'有一些问题。我如何解决它?
我想在QString的值赋给一个const的std :: stringQString时,常量的std :: string
QString qfile("some value");
这是常量的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 std :: string file(qfile.toStdString());' – stijn
(在这里插入关于最令人头疼的解析的常见注释) –
该变量已被用于代码中。我只想更新其内容。 –
常量是具有固定值的表达式。
还可以获得通过使toStdString()
返回值的副本摆脱const
的:
QString str("text");
std::string std_str(str.toStdString());
你不能指定为const – Andrew
周围的任何工作? –
将其设为私人 – Jake1164