QPair类是一个模板类,它存储一对项值(key,value)。
QPair()
QPair(QPair<TT1, TT2> &&p)
QPair(const QPair<TT1, TT2> &p)
QPair(const T1 &value1, const T2 &value2)
T1 first
T2 second
QPair<T1, T2> qMakePair(const T1 &value1, const T2 &value2)
void swap(QPair<T1, T2> &other)
void swap(QPair<T1, T2> &lhs, QPair<T1, T2> &rhs)
等同于:
qSwap(this->first, other.first);
qSwap(this->second, other.second);
=
)操作QPair<T1, T2> &operator=(const QPair<TT1, TT2> &p)
QPair<T1, T2> &operator=(QPair<TT1, TT2> &&p)
bool operator!=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
bool operator<(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
bool operator<=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
bool operator==(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
bool operator>(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
bool operator>=(const QPair<T1, T2> &p1, const QPair<T1, T2> &p2)
>>
和<<
。QDataStream &operator>>(QDataStream &in, QPair<T1, T2> &pair)
QDataStream &operator<<(QDataStream &out, const QPair<T1, T2> &pair)
/* 初始化QPair */
QPair<QString, double> pair("PI", 3.14);
/* 创建QPair列表 */
QList<QPair<QString, double> > pairList;
pairList.append(pair);
pairList.append(qMakePair(QString("E"), 2.71));
/* 遍历输出 */
for (QPair<QString, double> pair : pairList) {
qDebug() << "Key: " << pair.first; // 获取第一个值
qDebug() << "Value: " << pair.second; // 获取第二个值
}
输出:
Key: "PI"
Value: 3.14
Key: "E"
Value: 2.71
std::pair
;std::tuple
(元组)数目不限制,而QPair和std::pair都限制为2。