PCL中的这些增强指针初始化是不同的
Are these boost shared pointer initializations in PCL different?
我已经使用了PCL一段时间了,并且看到了几种初始化boost::shared_ptr
的方法。这是我正在考虑的示例:
-
pointCloudType::Ptr cloud (new pointCloudType);
-
pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType);
-
pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType());
它们之间有任何区别和/或使用一个优点?
感谢@taketwo我得到了这个答案:
示例2和3是相同的。示例1应该是短路的首选,并且不涉及对复印件的呼叫。
应首选示例1,当指示指针但未初始化时,要走的方法是
cloud.reset(new pointCloudType);
相关文章:
- 如何使用数据对象上的常量指针初始化类
- 使用指针初始化 char 数组或字符串 C++
- 使用无效指针初始化指针声明符的行为是否未定义?
- 指针:初始化与声明
- 启动线程会导致指针初始化时出现分段错误
- 使用函数声明进行函数指针初始化 - 是否可能
- 类初始化中的指针初始化
- 结构数组的指针初始化
- 如何从其抽象母类上的指针初始化子类?
- C 用结构指针初始化结构
- 如何用无效指针初始化unique_ptr的向量
- PCL中的这些增强指针初始化是不同的
- 通过指针初始化结构
- 从函数指针初始化成员函数
- 使用作用域内生成的指针初始化静态成员
- 使用"this"指针初始化 std::array
- C++缺乏指针初始化和使用逻辑
- constexpr 使用指针初始化
- C 指针初始化的不良初始化可能是什么后果
- 指针初始化无效?如果不是,那是什么