【发布时间】:2019-02-16 17:52:23
【问题描述】:
使用new 创建std::unique_ptr 有意义吗?在下面的 sn-p 中,因为我怀疑由 std::unique_ptr 管理的 SimpleClass 对象不会被销毁,除非我自己删除 std::unique_ptr。我想不出这个有用的情况,所以我想知道是否有实际使用它的情况。
std::unique_ptr<vector_test::SimpleClass>* ptr_to_unique_ptr = new std::unique_ptr<vector_test::SimpleClass>();
ptr_to_unique_ptr->reset(new vector_test::SimpleClass(555));
delete ptr_to_unique_ptr;
【问题讨论】:
-
对于指向对象的唯一指针的原始指针,我想不出一个好的用例。如果我要找到这样一个用例,我想我会尝试使用唯一指针来指向对象的唯一指针。
-
用
std:unique_ptr<std::unique_ptr<vector_test::SimpleClass>>怎么样? -
我只能认为您是否需要共享唯一指针的所有权...stackoverflow.com/questions/50831775/…
-
我认为这可能只是被命名为滥用。 RAII 给予的每一个职业选手都会被中和。
标签: c++ c++11 smart-pointers