Laravel  
laravel
文档
数据库
架构
入门
php技术
    
Laravelphp
laravel / php / java / vue / mysql / linux / python / javascript / html / css / c++ / c#

c++ unique_ptr

作者:风中孤狼   发布日期:2026-01-05   浏览:86

#include <iostream>
#include <memory>

class MyClass {
public:
    MyClass() {
        std::cout << "MyClass constructor called" << std::endl;
    }
    ~MyClass() {
        std::cout << "MyClass destructor called" << std::endl;
    }
    void sayHello() {
        std::cout << "Hello from MyClass!" << std::endl;
    }
};

int main() {
    // 创建一个 unique_ptr 指向 MyClass 对象
    std::unique_ptr<MyClass> ptr = std::make_unique<MyClass>();

    // 调用 MyClass 的成员函数
    ptr->sayHello();

    // unique_ptr 在离开作用域时会自动释放所管理的对象
    return 0;
}

解释说明:

  1. #include <memory>:引入 std::unique_ptr 所在的头文件。
  2. std::unique_ptr<MyClass> ptr = std::make_unique<MyClass>();:使用 std::make_unique 创建一个 unique_ptr,它会自动管理一个 MyClass 对象的生命周期。unique_ptr 确保该对象在超出作用域时被正确销毁。
  3. ptr->sayHello();:通过 unique_ptr 调用 MyClass 的成员函数 sayHello()
  4. 自动析构:当 ptr 离开 main 函数的作用域时,unique_ptr 会自动调用 MyClass 的析构函数并释放资源。

这样可以确保资源的安全管理,避免内存泄漏。

上一篇:c++换行指令

下一篇:dev c++怎么调试

大家都在看

c++闭包

c++单引号和双引号的区别

c++ 注释

c++如何判断素数

c++格式化字符串

c++ orm框架

c++ random函数用法

队列c++

c++freopen怎么用

c++virtual

Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3

Laravel 中文站