Я искал ответ на этот вопрос и не нашел ничего похожего на мою проблему.
У меня есть класс, назовем его Foo
, который принимает указатель const char*
в своем конструкторе. В моем коде мне нужно создать новый Foo
с std::string
s .data()
в качестве параметра. Проблема в том, что как только строка выходит из области видимости, значение (или указатель, вот где я запутался ..), переданное в Foo, становится недействительным.
Так что теперь, когда строка недействительна, Foo's const char*
недействителен.
Как я могу передать значение данных строки в Foo
, чтобы оно не стало недействительным, когда строка выпадает из области видимости?