在 c++++ 中,内存管理由程序员负责。函数库提供了许多工具,包括:std::make_unique 和 std::make_shared:创建智能指针,自动释放内存。std::vector 和 std::array:动态分配和释放内存的容器类。std::allocator:自定义内存分配策略的通用容器。
C++ 函数库中的内存管理
内存管理在 C++ 中至关重要,因为程序员负责分配和释放动态分配的内存。函数库在管理内存时提供了有价值的工具,有助于提高效率和减少内存泄漏的风险。
std::make_unique 和 std::make_shared
std::make_unique
和 std::make_shared
函数用于创建一个智能指针,所有权自动由该指针管理。而 new
运算符仅仅会分配内存。智能指针在对象超出其作用域时自动释放内存,防止内存泄漏。
// 使用 std::make_unique 分配一个 unique_ptr std::unique_ptr<int> ptr1 = std::make_unique<int>(42); // 使用 std::make_shared 分配一个 shared_ptr std::shared_ptr<int> ptr2 = std::make_shared<int>(42);