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

c++ make_unique

作者:叶随雨落   发布日期:2025-02-27   浏览:137

#include <memory>
#include <iostream>

int main() {
    // 使用 make_unique 创建一个唯一的 int 智能指针
    auto unique_ptr = std::make_unique<int>(10);

    // 输出智能指针指向的值
    std::cout << "Value: " << *unique_ptr << std::endl;

    // 使用 make_unique 创建一个唯一的自定义类对象
    class MyClass {
    public:
        MyClass(int value) : value(value) {}
        void print() const { std::cout << "MyClass value: " << value << std::endl; }
    private:
        int value;
    };

    auto my_class_ptr = std::make_unique<MyClass>(20);
    my_class_ptr->print();

    return 0;
}

解释说明:

  • std::make_unique 是 C++14 引入的一个工具函数,用于创建 std::unique_ptr。它简化了 std::unique_ptr 的创建过程,并且避免了潜在的资源泄漏问题。
  • 在示例代码中,我们首先使用 std::make_unique<int>(10) 创建了一个唯一的 int 智能指针,并输出其指向的值。
  • 接着,我们定义了一个简单的类 MyClass,并使用 std::make_unique<MyClass>(20) 创建了一个唯一的 MyClass 对象智能指针,然后调用其成员函数 print 输出类中的值。

通过这种方式,可以更安全、简洁地管理动态分配的对象。

上一篇:c++位运算符

下一篇:c++ uint8_t

大家都在看

c++闭包

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

c++ 注释

c++如何判断素数

c++ 获取系统时间

c++进制转换函数

c++ tcp

c++ gcd函数

c++ cli

c++ weak_ptr

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

Laravel 中文站