自学内容网 自学内容网

海康C++开发面试题及参考答案

智能指针有哪几种?请分别介绍。

在 C++ 中,智能指针是一种用于管理动态分配内存的对象,它可以自动释放所指向的对象,避免内存泄漏。主要有以下几种智能指针:

std::unique_ptr

  • 独占所有权:std::unique_ptr对其所指向的对象拥有独占的所有权,这意味着同一时间内,只能有一个std::unique_ptr拥有该对象。当std::unique_ptr被销毁时,它所指向的对象也会被自动删除。例如:

#include <memory>

class MyClass {
public:
    MyClass() { std::cout << "MyClass constructed" << std::endl; }
    ~MyClass() { std::cout << "MyClass destructed" << std::endl; }
};

int main() {
    std::unique_ptr<MyClass> ptr = std::make_unique<MyClass>();

原文地址:https://blog.csdn.net/linweidong/article/details/145172759

免责声明:本站文章内容转载自网络资源,如侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!