【发布时间】:2017-07-28 16:00:34
【问题描述】:
我有一个结构向量,如下所示。该结构包含绘图的相关数据。
struct DATA_T
{
double x;
double y;
double z;
}
std::vector<DATA_T> results;
我需要能够检索结果向量中的所有 x 值并将它们存储为双精度向量
我知道我可以通过编程方式创建这些矢量。
std::vector<double> x_values;
x_values.reserve(results.size());
for(auto const &data : results)
{
x_values.push_back(data.x);
}
但是,我想知道是否有更简洁的解决方案。也许使用类似于我可以使用find_if 搜索特定数据点的方法?
【问题讨论】:
-
你可以使用
std::transform,但我怀疑它会比你已经拥有的更快或更干净,尽管你应该在调用push_back之前在向量中保留正确的数量