私は次のような構造体のベクトルを持っています。構造体は、プロットに関連するデータを保持します。
struct DATA_T
{
double x;
double y;
double z;
}
std::vector<DATA_T> results;
x
結果ベクトル内のすべての値を取得し、それらをdoubleのベクトルとして保存できる必要があります
私はこれらのベクトルをプログラムで作成できることを知っています。
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を使用して、以下を取得するための適切なラムダを提供できますx
。
std::vector<double> x_values;
x_values.reserve(results.size());
std::transform(std::cbegin(results), std::cend(results),
std::back_inserter(x_values),
[](const auto& data) {
return data.x;
}
);
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加