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