PCL的指针Ptr
C++中智能指针写法:
shared_ptr<T> myptr (new T); //T是数据类型
pcl中的Ptr其实是C++中的智能指针,只不过PCL使using起了别名。
与普通指针相比,智能指针最大的不同是不用考虑对指针对象的释放,系统再指针对象消亡时自动进行delete操作,这极大地简化了指针地使用;并且一个指针对象可以由多个智能指针共同指向。
PCL的指针Ptr初始化
- 在函数里面进行初始化:
pcl::PointCloud<pcl::PointXYZ>::Ptr cloud_source (new pcl::PointCloud<pcl::PointXYZ>)
- 在类里面初始化:
类内部初始化的时候,不可以跟上面那样使用new关键字进行初始化,可以使用智能指针的reset方法在构造函数里面进行初始化:
cloud_source.reset(new pcl::PointCloud<pcl::PointXYZ>());