c – qt对Type *元素的容器进行排序
发布时间:2020-12-16 09:45:08 所属栏目:百科 来源:网络整理
导读:我有一个自定义类型Class1,其中bool运算符 (Class1 other);被定义了. 我也有一些容器,例如QVector Class1 *容器; 当我使用qSort(container.begin(),container.end());项目按其内存地址排序. 然后我决定实施bool运算符 (Class1 * other);但排序也是以同样的方
我有一个自定义类型Class1,其中bool运算符< (Class1& other);被定义了.
我也有一些容器,例如QVector< Class1 *>容器; 当我使用qSort(container.begin(),container.end());项目按其内存地址排序. 然后我决定实施bool运算符< (Class1 * other);但排序也是以同样的方式进行的. 解决方法
您需要为
qSort function提供LessThan函数.以下是文档中的示例:
bool caseInsensitiveLessThan(const QString &s1,const QString &s2) { return s1.toLower() < s2.toLower(); } int doSomething() { QStringList list; list << "AlPha" << "beTA" << "gamma" << "DELTA"; qSort(list.begin(),list.end(),caseInsensitiveLessThan); // list: [ "AlPha","beTA","DELTA","gamma" ] } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |