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

时间:2018-11-11 10:59:04

标签: c++ unique-ptr

所以我试图更改自己的游戏,但发现了无法更改的问题:

我有以下代码:

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

我试图做到:

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

这是行不通的,因为没有构造函数可以从char *进行转换 更改为unique_ptr,该如何更改?

1 个答案:

答案 0 :(得分:5)

您不想在您不拥有的任何资源周围使用unique_ptr。在这种情况下,指针从c_str()返回。它仍然属于fileContents对象。如果/当您过去实际上在c_str()周围获得了unique_ptr时,那么您以后便会发生内存损坏。