开发平台(Platform): (Ex: Win10, Linux, ...)
Linux
编译器(Ex: GCC, clang, VC++...)+目标环境(跟开发平台不同的话需列出)
g++
#include<iostream>
#include<vector>
#include <memory>
using namespace std;
int main()
{
// M□NM□N matrix (assuming int type elements) initialized with all
values as KK
const int N = 2;
const int M = 4;
const int K = 99;
std::vector<std::vector<int>>* p = new std::vector<std::vector<int>>(M,
std::vector<int>(N, K));
cout << p[0].size() << endl;
cout << p[0][0].size() << endl;
cout << p->at(0)[0] << endl;
delete p;
// cout << p->at(0)[0] << endl;
return 0;
}
我不想用delete 手动回收new 内存! 想使用shared_ptr
请问要怎么把vector 指标用shared_ptr 封装一起自动回收?
shared_ptr<std::vector<std::vector<int> > > p1(new
std::vector<std::vector<int>>(M, std::vector<int>(N, 0)));
我这样包装对嘛? 有办法验证内存有回收掉?
谢谢