可能是重复问题:
使用具有两个字段的结构体和成对比较有什么区别?
大家好,
我有一个小问题,关于pairs和struct。使用std::pair是否比使用具有两个字段的结构体有任何优势? 我已经用了一段时间的pairs,但主要问题是可读性: 例如,如果您想表示一个二元组(int“label”,double“value”),则可以使用以下方式之一:
typedef std::pair<int,double> myElem;
或者一个。typedef struct {
int label;
double value;
} myElem;
如果你的语句具有“语义”意义,代码会变得更易读(你总是知道x.label是什么,而x.first不是这种情况)。
然而,我想使用pair可能有一些优势。它是否更高效或有其他好处?