您可以使用以下代码来创建`clouds`大小的多个新指针,并将`clouds`内的数据赋值给这些新指针:\n\ncpp\n// 创建多个新指针的容器\nstd::vector<pcl::PointCloud<pcl::PointXYZRGB>::Ptr> newClouds;\n\n// 遍历clouds并创建新指针,将数据赋值给新指针\nfor (size_t i = 0; i < clouds.size(); ++i) {\n // 创建新指针\n pcl::PointCloud<pcl::PointXYZRGB>::Ptr newCloud(new pcl::PointCloud<pcl::PointXYZRGB>);\n \n // 将clouds内的数据赋值给新指针\n *newCloud = *clouds[i];\n \n // 将新指针添加到newClouds容器中\n newClouds.push_back(newCloud);\n}\n\n\n在上述代码中,我们首先创建了一个名为`newClouds`的容器,用于存储新创建的指针。然后,我们使用循环遍历`clouds`容器中的每个元素。在每次迭代中,我们使用`new`关键字创建一个新的指针`newCloud`,并将它初始化为一个新的`pcl::PointCloud<pcl::PointXYZRGB`对象。接下来,我们使用解引用运算符将`clouds[i]`指针指向的数据赋值给新指针`newCloud`。最后,我们将新指针`newCloud`添加到`newClouds`容器中。\n\n请注意,这里使用了`*newCloud = *clouds[i]`来实现数据的赋值,这是因为`pcl::PointCloud`类没有提供直接的拷贝构造函数。所以我们需要使用解引用运算符来将数据从一个指针复制到另一个指针中。\n\n希望对您有所帮助!

C++ 代码:创建多个指向 pcl::PointCloud 的新指针并复制数据

原文地址: https://www.cveoy.top/t/topic/pSnx 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录