std::make_shared参数
时间: 2023-10-21 21:24:10 浏览: 396
std::make_shared 是 C++11 中的一个函数模板,用于创建共享指针(shared pointer)。它接受可变数量的参数,并使用这些参数来构造一个指定类型的对象,并返回一个指向该对象的共享指针。
std::make_shared 的参数是被构造对象的类型和构造参数。例如:
```cpp
std::shared_ptr<int> ptr = std::make_shared<int>(42);
```
上面的代码中,我们使用 std::make_shared 创建了一个指向整数的共享指针,构造参数是整数值 42。在这种情况下,std::make_shared 通过构造函数创建一个 int 类型的对象,并返回指向该对象的共享指针。
需要注意的是,std::make_shared 会动态分配内存以存储对象,并返回一个指向该内存的共享指针。这意味着我们不需要显式地使用 new 运算符来分配内存。此外,使用 std::make_shared 创建的共享指针是更安全的,可以避免资源泄漏和空悬指针等问题。
相关问题
std::shared_ptr std::make_shared
以下是使用std::make_shared创建std::shared_ptr的示例:
```cpp
#include <memory>
class ExampleInterfaceControl {
// 类定义
};
int main() {
// 创建 ExampleInterfaceControl 类型的对象,并使用 make_shared 函数将其包装在一个 std::shared_ptr 中
std::shared_ptr<ExampleInterfaceControl> ptr = std::make_shared<ExampleInterfaceControl>();
// 现在 ptr 是一个指向 ExampleInterfaceControl 对象的 std::shared_ptr
return 0;
}
```
pcl::make_shared std::make_shared
根据引用和引用的信息,你遇到了一个报错,具体是关于`boost::make_shared`的。解决方法是将`boost::make_shared`替换为`std::make_shared`。这可能是因为在pcl 1.11.1中,pcl开始使用了`std::shared_ptr`而不是`boost::shared_ptr`。所以,你可以尝试将代码中的`pcl::make_shared`替换为`std::make_shared`来解决这个问题。希望这能帮到你。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [PCL 报错:boost::make_shared报错](https://blog.csdn.net/kangjielearning/article/details/112253757)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [pcl boost::make_shared error](https://blog.csdn.net/qq_44601476/article/details/129294409)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文