向量

时间:2018-04-17 14:14:59

标签: c++ vector

我一直在寻找一种有效的方法:

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);

基本上我想为矢量中的每个矢量保留一个大小。这样做有一种优雅的方式吗?

2 个答案:

答案 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));

如果你接受大小的矢量生成,那么你可以使用这个例子。

相关问题