我在c ++函数中使用向量向量.
vector<vector<int>> foo
Run Code Online (Sandbox Code Playgroud)
当这个对象超出范围时,我想自动释放内存.为了做到这一点,我使用以下代码:
unique_ptr<vector<unique_ptr<vector<int>>> foo(new vector<unique_ptr<vector<int>>())
Run Code Online (Sandbox Code Playgroud)
这听起来是对的还是我不必要的复杂化?
PS:如果不使用unique_ptr我想在堆上分配向量.那是
vector<vector<int>>* foo = new vector<vector<int>>();
Run Code Online (Sandbox Code Playgroud)
所以我认为当foo超出范围时我必须手动清理东西?
归档时间: |
|
查看次数: |
57 次 |
最近记录: |