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