我有一個地圖存儲,字符串和一組雙打如下。std ::地圖插入沒有創建一個臨時值
typedef std::map<std::string, std::set<double> > exprType;
typedef std::map<std::string, std::set<double> >::iterator exprIter;
exprType exPricesData;
std::vector<double> lastprice;
std::string exchange;
我需要一種方法來插入給定鍵的價格,並寫下面的一段代碼。
std::set<double> prices;
double temp = lastprice[0]; // An array of values comes as a parameter
prices.insert(temp); // Creating a temp. set
std::pair<exprIter,bool> locIter = exPricesData.insert(
std::pair<std::string, std::set<double> >(exchange, prices));
for (int i = 1; i < lastprice.size() ; ++i)
{
locIter.first->second.insert(lastprice[i]);
}
我想知道,有沒有一種方法來改善,特別是第一部分,它會創建一個臨時設置。
您使用C++ 11嗎? –
我刪除了我的答案,因爲我誤解了你的代碼。你可以插入一個空集'std :: pair locIter = exPricesData.insert(std :: pair >(exchange,std :: set ())) ;' –
stefaanv