有人可以解释这行代码的含义吗?

时间:2016-01-08 07:42:38

标签: c++ point-cloud-library

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

有人可以解释一下吗?

2 个答案:

答案 0 :(得分:1)

pcl::PointCloud<pcl::PointXYZ>::Ptr cloud (new pcl::PointCloud<pcl::PointXYZ>);

cloud是一个变量 - 名称Ptr暗示它是一个(可能是“智能”)指针,指向PointCloud<PointXYZ>,它听起来像某种3D点的容器,初始化为一个原始指针(从new)到默认构造的PointCloud<PointXYZ>可能意味着“云”中没有任何点。

pcl::前缀暗示您的“点云库”位于名为namespace的{​​{1}}中(如果查看库的头文件,可能大部分文件将被包围pcl)。

之后,您可以使用“namespace pcl { ... } function_name cloud-> args ... (”来执行操作云 - 检查云类型或文档以获取可用功能,数据成员等。

答案 1 :(得分:0)

总之,您需要更多使用C ++的经验才能使用此库,但是:

1-可能pcl'是您包含的库的名称空间。

2- <pcl::PointXYZ>是模板类型。

3- cloud是您对象的样本!

4- newpcl::PointCloud<pcl::PointXYZ>分配内存并将指针发送给cloud构造函数论者!