c++ - 用对象 C++ 处的指针对向量进行排序
问题描述
如果有人可以提供帮助,我将不胜感激。我如何对这个向量进行排序:
vector<Person*>person
按照这个标准:
Surname
我已经使用 set 尝试过,但是如果有超过 2 个相同的对象,它会删除对象Surname
有很多字符串变量,我需要对其进行排序
Surname
然后如果姓氏相同,那么我需要对它们进行排序
Name
并且它还按该指针的十六进制值排序......编辑:更多代码如你所问:
for (pChild = pRoot->FirstChildElement("Member"); pChild != NULL; pChild = pChild->NextSiblingElement())
{
string Surname = pChild->Attribute("surname");
string Name = pChild->Attribute("name");
string DateOfBirth = pChild->Attribute("dateofbirth");
person.push_back(new Person(Surname, Name, DateOfBirth));
}
解决方案
如果您不显示更多代码,很难为您提供帮助,但我会查看std::sort()的文档,因为您可以创建自定义运算符来对向量进行排序。
推荐阅读
- c - C 不能打印/表示非规范化浮点数吗?
- textarea - 如何从 textarea 中获取内容以对其进行处理,然后将其插入回 textarea
- javascript - 数组Javascript中的拆分和连接元素
- arrays - 为什么我的 VBA 数组返回空单元格,除非我指定索引?
- firebase - 将 PWA 的所有图像从 firebase 存储下载到缓存中
- r - 将嵌套的xml解析为R中的Dataframe
- c# - 如何在 C# 代码中访问 REST API 端点
- javascript - 引导选择所需的验证无法正常工作
- android - 获取当前在前台和后台运行的应用程序列表
- javascript - Netlify、socket.io 和 Node.js 不合作