溫馨提示×

c++ make_shared的用法是什么

c++
小億
482
2024-03-13 17:11:44
欄目: 編程語言

在C++中,std::make_shared是一個模板函數,用于創建一個std::shared_ptr智能指針并初始化它指向的對象。make_shared函數接受任意數量的參數,用來初始化指向的對象。

使用make_shared函數可以減少內存分配的次數,因為它會在一次內存分配中同時分配智能指針對象和指向的對象。

下面是一個使用make_shared函數的示例:

#include <memory>

int main() {
    // 創建一個指向int的shared_ptr
    auto ptr = std::make_shared<int>(10);

    // 創建一個指向自定義對象的shared_ptr
    struct MyObject {
        int data;
    };
    auto obj_ptr = std::make_shared<MyObject>();
    obj_ptr->data = 20;

    return 0;
}

在上面的示例中,std::make_shared<int>(10)創建了一個指向整數的std::shared_ptr,std::make_shared<MyObject>()創建了一個指向自定義對象MyObjectstd::shared_ptr。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女