如何将我的 const char 指针更改为唯一指针?

How can i change my const char pointer to unique pointer?

所以我正在尝试更改我的游戏,但我发现了一个无法进行更改的问题:

我有以下代码:

    std::string fileContents = "";
  const char* contentsPtr = fileContents.c_str();

我试过了:

const std::unique_ptr<char> contentsPtr = fileContents.c_str();

它不起作用,因为没有构造函数可以从 char* 进行转换 unique_ptr 那么我该如何进行更改呢?

您不希望 unique_ptr 围绕任何您 不拥有 的资源。在本例中,指针从 c_str() 返回。它仍然属于 fileContents 对象。 If/when 你过去实际上在 c_str() 周围得到一个 unique_ptr,然后你稍后会出现内存损坏。