PCL中的这些boost共享指针初始化是否不同?

时间:2019-03-21 11:46:59

标签: c++ boost shared-ptr point-cloud-library

我已经使用PCL一段时间了,并看到了几种初始化boost::shared_ptr的方法。这是我正在考虑的示例:

  • pointCloudType::Ptr cloud (new pointCloudType);
  • pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType);
  • pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType());

它们之间是否有区别和/或使用一个相对于其他的优势?

1 个答案:

答案 0 :(得分:0)

感谢@taketwo,我得到了这个答案:

  

示例2和3是相同的。应该首选示例1,因为它很短,并且不涉及对copy-constructor的调用。

如示例1所示,当指针已声明但未初始化时,首选方法是

cloud.reset(new pointCloudType);