1. ホーム
  2. c++

[解決済み】std::stringをconstexprで使用することは可能ですか?

2022-04-03 15:26:51

質問

C++11、Ubuntu 14.04、GCCデフォルトツールチェーンを使用しています。 .

このコードは失敗します。

constexpr std::string constString = "constString";

error: 'const string {aka const std::basic_string}' 型の constexpr 変数 'constString' はリテラルではありません。 std::basic_string' は自明でないデストラクタを持っています。

を使用することは可能ですか? std::string の中に constexpr ? (どうやら違うようです...) もしそうなら、どのように?の中で文字列を使用する別の方法はありますか? constexpr ?

解決方法は?

いいえ、コンパイラーはすでに包括的な説明をしています。

でも、こんなこともできるんですね。

constexpr char constString[] = "constString";

実行時に、これを用いて std::string が必要です。