在日常使用中常会有这样的操作,一个对象有多个属性,在排序时,我们会先比较一种属性,当这个属性相等时我们会对下一个属性进行比较。这个时候键值对”pair<>”就能够十分高效地使用:
template<typename T1, typename T2> struct pair { T1 first; T2 second; };
当然,普通的使用比如pair<int,int>可以利用其他的方式也能非常方便地实现。但是如果是例如vector<pair<string>,pair<int,int> >这样的结构呢?不得不说,类似的结构是非常好用且极为常用的,比如说在存储多边形的多个点时,以类似的结构存储并使用STL的排序函数进行排序,就可以使这些多边形上的点按照希望的顺序排列好
时间: 2024-10-18 13:42:48