的向量獲取特定成員的矢量I具有如下結構的向量。該結構保存一個圖的相關數據。從結構
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 ::變換pairs-的矢量>第一個新的向量(https://stackoverflow.com可能複製/問題/ 9094132/C-stdtransform-矢量的-對一對新的矢量) –