2017-02-08 13 views
0

давайте предположим, что у меня есть эта Multimapмагазин группа элементов образуют один Multimap другого Multimap

std::multimap<char,int> mymm; 

mymm.insert (std::make_pair('x',10)); 
mymm.insert (std::make_pair('y',20)); 
mymm.insert (std::make_pair('z',30)); 
mymm.insert (std::make_pair('z',40)); 

Тогда, я хочу, чтобы найти весь элемент, который имеет определенный ключ «г» в mymm будет храниться в на другом Multimap std::multimap<int,int> mymm2; Так что элемент внутри mymm2 будет:

keys values 
z 30 
z 40 

как я могу сделать такую ​​вещь.

Заранее спасибо

ответ

2

Ну, the documentation есть все, что нам нужно:..

// Retrieve the range of values with key 'z' 
auto r = mymm.equal_range('z'); 

// Construct the new multimap from that range 
std::multimap<char,int> mymm2{r.first, r.second}; 
+0

Я долго искал эту документацию :(Спасибо большого @quentin – emadalamoudi

+0

@emadalamoudi держаться на него то - функция поиска немного сломана, но контент чрезвычайно полезен. – Quentin