Возможный дубликат:
В чем разница между использованием структуры с двумя полями и парой?
Дорогой,
У меня есть маленький вопрос о парах и структуре. Есть ли какое-либо преимущество в использовании std:: pair вместо структуры с двумя ячейками? Я использовал пару некоторое время, но главная проблема - читаемость: Если вы хотите представить, например, duple (int "label", double "value" ), вы можете использовать либо:
typedef std::pair<int,double> myElem;
или
typedef struct {
int label;
double value;
} myElem;
Код становится более читаемым, если ваши утверждения имеют "смысловой" смысл (вы всегда будете знать, что такое x.label, что не в случае с x.first).
Однако, я думаю, что есть преимущество, использующее пару. Является ли это более совершенным или что-то еще?