因此,我试图更改自己的游戏,但发现了无法更改的问题:
我有以下代码:
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对象。如果/当您过去实际上在c_str()周围获得了unique_ptr时,您以后便会发生内存损坏。
关于c++ - 如何将const char指针更改为唯一指针?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53248045/