我有一个vector的unique_ptrs表示指向一个名为状态类.当我pop_back()使用向量调用时,唯一指针将从内存中删除(我认为),但它指向的状态对象永远不会被删除.在删除它指向的对象时,或者唯一指针以某种方式不会调用析构函数?我所知道的是,当从向量中移除我的唯一指针时,我的析构函数不会被调用.
这是矢量:
std::vector< std::unique_ptr<State> > mStates;
Run Code Online (Sandbox Code Playgroud)
我试过了:
mStates.pop_back();
Run Code Online (Sandbox Code Playgroud)
这删除了唯一的指针,我认为唯一的指针将为我删除状态并调用状态的析构函数,但这没有发生.顺便说一下我用以下方法添加元素:
mStates.push_back();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3374 次 |
| 最近记录: |