我一直在寻找一种有效的方法:
int number_of_pointcloud = 666;
std::vector<pcl::PointCloud<PointXYZIR>> pointcloud_vector[number_of_pointcloud] ;
int size_small_pointcloud = cloud_in.size ()/ number_of_pointcloud;
for(int i = 0; i < pointcloud_vector->size (); ++i)
pointcloud_vector[i].reserve(size_small_pointcloud);
基本上我想为矢量中的每个矢量保留一个大小。这样做有一种优雅的方式吗?
答案 0 :(得分:1)
你可以使用range-for循环并大大缩短它:
for(auto& e : pointcloud_vector) {
e.reserve(size_small_pointcloud);
}
答案 1 :(得分:0)
还有一个简短的例子,但它创建了默认元素和大小的向量,不是保留的,而是大小:
int number_of_pointcloud = 666;
int size_small_pointcloud = cloud_in.size ()/ number_of_pointcloud;
std::vector< std::vector<pcl::PointCloud<PointXYZIR> > > pointcloud_vector(number_of_pointcloud, std::vector<pcl::PointCloud<PointXYZIR> >(size_small_pointcloud));
如果你接受大小的矢量生成,那么你可以使用这个例子。