Mam std::list< std::pair<std::string,double> >
, które wiem, że jest posortowane zgodnie z std::string element
.Jak przekonwertować posortowane std :: lista std :: pair na std :: map
Ponieważ chciałbym zrobić wiele std::find_if
opartą na elemencie std::string
, wierzę std::map<string,double,MyOwnBinaryPredicate>
z lower_bound
i upper_bound
byłoby bardziej odpowiednie.
Faktem jest, że chcę insert
elementów w std::map
w skuteczny sposób. Dlatego chcę użyć dodatkowego iteratora, aby przyspieszyć działanie insert
.
Wierzę, najprostszym sposobem byłoby użyć const_reverse_iterator
przejść przez std::list
i używać begin()
z std::map
.
Czy zrobiłbyś to w ten sposób, czy to zły pomysł?
Dzięki!
nie umieścić [C++] w tytule. Po to są tagi. – NullUserException
Z odpowiedziami udzielonymi przez grddev i Luthera Blissetta, mam podobne wyniki jak przy mojej pierwszej sugestii (używając 'begin()', a nie 'end()'). Jednak oba są zwięzłe. Akceptuję odpowiedź grddev za jej prostotę, ale pamiętam o 'std :: inserter'. Dziękuję wam wszystkim! – Wok