私は以下のように構造体のベクトルを持っています。構造体はプロットの関連データを保持します。構造体のベクトルから特定のメンバーのベクトルを取得します
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'を呼び出す前にベクトルに適切な量を予約してください。 – user463035818
[C++ std :: transform vector with pairs-> new vector](https://stackoverflow.com)と重複している可能性があります。/questions/9094132/c-stdtransform-pair-first-to-new-vector) –