0

QString の値を const std::string に代入したい

QString qfile("some value");

これは const std::string 変数です

const std::string file

私が使用しているコード

file = qfile.toStdString();

上記のコードは、通常の std::string に対して正常に機能します。しかし、キーワード「const」が原因でいくつかの問題があります。どうすれば解決できますか?

4

3 に答える 3

7

オブジェクトを初期化するために代入演算子を使用するのstd::stringではなく、変数を直接初期化してください。

const std::string file = qfile.toStdString();

QString::toStdString()それはさておき、エンコーディングが何を使用するかを知っていることを確認してください。とは異なりQStringstd::stringエンコーディングに依存しません(文字ではなくバイトの文字列です)。

于 2012-06-27T12:27:40.263 に答える
1

定数は固定値の式です。

http://www.cplusplus.com/doc/tutorial/constants/

于 2012-06-27T12:27:36.263 に答える
0

constの戻り値のコピーを作成することで、 を取り除くこともできますtoStdString()

QString str("text");
std::string std_str(str.toStdString());
于 2012-06-27T12:57:53.977 に答える