我已经使用PCL一段时间了,并看到了几种初始化boost::shared_ptr
的方法。这是我正在考虑的示例:
pointCloudType::Ptr cloud (new pointCloudType);
pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType);
pointCloudType::Ptr cloud = pointCloudType::Ptr(new pointCloudType());
它们之间是否有区别和/或使用一个相对于其他的优势?
答案 0 :(得分:0)
感谢@taketwo,我得到了这个答案:
示例2和3是相同的。应该首选示例1,因为它很短,并且不涉及对copy-constructor的调用。
如示例1所示,当指针已声明但未初始化时,首选方法是
cloud.reset(new pointCloudType);