О мультимаге, какое из следующего может быть скомпилировано успешно?
Ответ первый, но я не знаю почему. Кто-нибудь может анализировать каждый из них?
О мультимаге, какое из следующего может быть скомпилировано успешно?
Ответ первый, но я не знаю почему. Кто-нибудь может анализировать каждый из них?
Проблема с третьим примером является то, что мы пытаемся вставить не пару, которая должна быть объектом inserted.Correct способ сделать это может быть:
multimap<string, double> mp2;
mp2.insert({"ok", 3.14});
Второй неправильно becuse ключ имеет тип string
, а третий параметр - компаратор, для int
.
Первый синтаксически правильный и будет скомпилирован успешно, хотя он довольно странный.
Спасибо за ваш ответ. Это действительно полезно. Но одно не ясное. Первый из них не является полным, он не дает значения, а дает ключ, а затем прямо дает операцию сравнения. это правильно? – user7487638
как @KerrekSB, здесь мы имеем 'value = std :: больше
Хорошо, это выглядит странно. Спасибо! – user7487638
Что значит, вы не знаете почему? Знаете ли вы, что означает 'multimap'? Теперь замените 'K' и' T' ... –
@KerrekSB, я знаю, что k является ключевым, а T является значением. Но первый из них не является полным, он не дает значения, а непосредственно дает операцию сравнения. – user7487638
Глубокий вдох, ясный ум: 'K = строка',' T = больше '... –