在我的代码中,我正在处理一组测量值(浮点向量),其中每个元素都有两个相关的不确定性(比如 +up/-down)。假设我想在屏幕上转储这些值,例如
Loop over the vector of the measurements
{
cout << i-th central value << " +" << i-th up uncertainty << " / -" << i-th down uncertainty << end;
}
最有效/最优雅的方法是什么?
1) 使用一对向量
vector<float> central; //central measurement
pair<vector<float>, vector<float>> errors; //errors
for( int i = 0; i < central.size ; i++ )
{
cout << central.at(i) << " +" << errors.first.at(i) << " / -" << errors.second.at(i) << endl;
}
2)使用对向量:
vector<float> central; //central measurement
vector<pair<float,float>> errors; //errors
for( int i = 0; i < central.size ; i++ )
{
cout << central.at(i) << " +" << errors.at(i).first << " / -" << errors.at(i).second << endl;
}
3) 两个独立的向量:
vector<float> central; //central measurement
vector<float> errUp; //errors up
vector<float> errDown; //errors down
for( int i = 0; i < central.size ; i++ )
{
cout << central.at(i) << " +" << errUp.at(i) << " / -" << errDown.at(i) << endl;
}