unique_ptr似乎解决了C中内存管理的所有问题,还是我错了?
例如:
std::unique_ptr<GameManager> game (new GameManager()); game->Start();
似乎比以下更聪明:
auto *game2 = new GameManager(); game2->Start(); delete game2;
谢谢,我有点困惑!
尽可能使用它们被认为是好的风格.
它们消除了许多可能的编程错误,并降低了使用指针创建正确代码的难度.
为了更进一步,改变是有益的
std::unique_ptr<GameManager> game (new GameManager());
至:
std::unique_ptr<GameManager> game (std::make_unique<GameManager>());