我目前在用C++做算法4,我用shared_ptr管理动态数组,以此实现类似Java的引用那样的垃圾回收,而不用每次手动delete [],请问这个思路有什么不足吗?
我目前在用C++做算法4,我用shared_ptr管理动态数组,以此实现类似Java的引用那样的垃圾回收,而不用每次手动delete [],请问这个思路有什么不足吗?
如果需要实现类似于int *arr = new int[10];这样的功能,可以这么使用智能指针和vector配合:
auto vptr = std::make_shared<std::vector<int>> (10);
此时,vptr是一个智能指针,指向一个堆内存上的vector对象,这个vector对象含有10个int类型元素。
6 回答6.9k 阅读✓ 已解决
3 回答2k 阅读✓ 已解决
2 回答3.9k 阅读✓ 已解决
2 回答3.2k 阅读✓ 已解决
1 回答3.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答2.7k 阅读✓ 已解决
管理二维数组可以使用std::vector<shared_ptr>,一维的话直接vector就好,能用智能指针当然可以优先考虑使用