可能重复:
使用带有两个字段和一对的结构有什么区别?
亲爱的大家,
关于对和结构,我有一个小问题.使用std :: pair而不是带有两个单元格的结构有什么好处吗?我已经使用了一段时间,但主要的问题是可读性:如果你想表示例如一个双重(int"标签",双"值")你可以使用a:
typedef std::pair<int,double> myElem;
Run Code Online (Sandbox Code Playgroud)
或者a
typedef struct {
int label;
double value;
} myElem;
Run Code Online (Sandbox Code Playgroud)
如果你的语句具有"语义"意义,那么代码就会变得更具可读性(你将永远知道x.label是什么.这与x.first不同).
但是,我猜使用pair有一个优势.它更高效还是其他什么?