У меня есть карта, в которой хранятся строки, а также набор двойников следующим образом.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