Есть два способа, с помощью которых я могу легко сделать ключ, атрибуцию значения в С++ STL: карты и наборы пар. Например, я мог бы
map<key_class,value_class>
или
set<pair<key_class,value_class> >
С точки зрения сложности алгоритма и стиля кодирования, каковы различия между этими обычаями?