PCL中的这些增强指针初始化是不同的

Are these boost shared pointer initializations in PCL different?

本文关键字:指针 初始化 增强 是不同 PCL      更新时间:2023-10-16

我已经使用了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);