可能重复:
使用具有两个字段和一对的结构有什么区别?
亲爱的大家,
我对pairs和struct有一个小问题。使用 std::pair 而不是具有两个单元格的结构有什么好处吗?我使用pairs 有一段时间了,但主要问题是可读性:如果你想表示例如一个双重(int“标签”,双重“值”),你可以使用:
typedef std::pair<int,double> myElem;
或一个
typedef struct {
int label;
double value;
} myElem;
如果您的语句具有“语义”意义,则代码变得更具可读性(您将始终知道 x.label 是什么。x.first 不是这种情况)。
但是,我想使用pair有一个优势。是性能更高还是其他?