如何在C++中实现内存的动态分配与释放,并使用智能指针防止内存泄漏?请结合代码实例。
时间: 2024-10-29 15:07:20 浏览: 31
在C++中,动态内存管理是通过new和delete操作符来实现的。new操作符用于分配内存,delete操作符用于释放内存。为了避免内存泄漏,C++11标准引入了智能指针,如std::unique_ptr和std::shared_ptr。它们可以帮助自动释放不再使用的动态分配的对象内存。以下是一个使用new/delete和智能指针管理内存的代码示例:
参考资源链接:[C++入门指南:从基础到进阶](https://wenku.csdn.net/doc/7pzf09v6az?spm=1055.2569.3001.10343)
```cpp
#include <iostream>
#include <memory> // 引入智能指针库
int main() {
// 使用new操作符动态分配内存
int* ptr = new int(10); // 分配一个int型的内存,并初始化为10
// 使用智能指针来自动管理内存
std::unique_ptr<int> uniquePtr(ptr); // unique_ptr接管ptr指向的内存
std::shared_ptr<int> sharedPtr = std::make_shared<int>(10); // shared_ptr分配新的内存并初始化为10
// 使用智能指针访问内存中的数据
std::cout <<
参考资源链接:[C++入门指南:从基础到进阶](https://wenku.csdn.net/doc/7pzf09v6az?spm=1055.2569.3001.10343)
阅读全文