これに対する答えを探し回っていますが、私の問題に似たものは見つかりませんでした。
コンストラクターでポインターFooを取るクラスがあります。それを と呼びましょう。const char*私のコードでは、パラメーターとして を使用して新しいを作成する必要がありFooます。問題は、文字列が範囲外になると、Foo に渡された値 (またはポインター、これは私が混乱している場所です..) が無効になることです。std::string.data()
文字列が無効になったので、Fooconst char*も無効です。
Foo文字列が範囲外になったときに無効にならないように、文字列のデータの値を渡すにはどうすればよいですか?