我從一個返回流量(雙倍)和時間(雙倍)的設備獲取數據。我想存儲他們,並能夠訪問數據使用兩種流速來獲取流量的時間和速度...stl:地圖和鏡像數據訪問
我正在使用兩個stl:map容器來做到這一點......有沒有辦法只使用一個容器?
這裏是加載數據的方法: 流數據(SDATA)的逗號分隔的字符串(「11.2,22.3,14.3,12.4,13.3」) 數據收集每個0.25秒 - 所以我們只遞增時間...
void LiquidTest::Load(string sData)
{
string sFlow;
istringstream iss(sData);
cout << "Inside LiquidTest::Load()." << endl;
double dTime = 0.0;
double dFlow = 0.0;
while (getline(iss, sFlow, ','))
{
// add the flow/time to the map(s)
cout << "Adding flow/time to map. sFlow=" << sFlow << ", dTime=" << dTime << "." << endl;
// Convert my string to a double
std::stringstream s(sFlow);
s >> dFlow;
// add the flow data and time data to the maps. We will then
// be able to access the flow by the time key and the time
// by the flow key. Do I need two maps ???
m_mapFlowDataKeyTime.insert(pair<double, double>(dFlow, dTime));
m_mapTimeKeyFlowData.insert(pair<double, double>(dTime, dFlow));
// Increment the time
dTime += 0.25;
}
}