社区
C++ 语言
帖子详情
如何正确的写自定义类的小于操作符使其能适用map
SendDlgItem
2009-03-01 09:37:08
如题··
当自定义类中有一个成员变量时怎么写?
当自定义类中有两个成员变量时又如何写??
...全文
147
10
打赏
收藏
如何正确的写自定义类的小于操作符使其能适用map
如题·· 当自定义类中有一个成员变量时怎么写? 当自定义类中有两个成员变量时又如何写??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
10 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
hai040
2009-03-02
打赏
举报
回复
ls都说了要看你的规则
比如一个物体有大小和重量两个属性
那你是要按大小排序还是按重量排序
还是先按大小排,大小相等的再按重量排
还可以按密度排
你要先确定规则才能写函数
SendDlgItem
2009-03-02
打赏
举报
回复
[Quote=引用 8 楼 deg936 的回复:]
楼主是想让存在map里的元素排序吗? 噢~~,如果是的话,我想你没理解map的用途。
[/Quote]
我不是想让map里面的元素排序,我是想问大家如何正确的写自定义类型的重载小于操作符··
deg936
2009-03-01
打赏
举报
回复
楼主是想让存在map里的元素排序吗? 噢~~,如果是的话,我想你没理解map的用途。
qixuenaner
2009-03-01
打赏
举报
回复
学习下
hmsuccess
2009-03-01
打赏
举报
回复
那要看你的排序策略了,
如,map中的key是MyClass,那么就要定义
bool operator<(const MyClass& _my)
{
if(this->XX<_my.XX)
return true;
else
return false;
}
SendDlgItem
2009-03-01
打赏
举报
回复
那如果两个成员变量呢··
pengzhixi
2009-03-01
打赏
举报
回复
把你的小于规则贴出来啊
deg936
2009-03-01
打赏
举报
回复
class A
{
private:
int a;
int b;
public:
bool operator<( const A& rh ) const;
};
bool A::operator<( const A& rh)
{
return a < rh.a ;
}
SendDlgItem
2009-03-01
打赏
举报
回复
我的意思是写重载小于操作符··
猫已经找不回了
2009-03-01
打赏
举报
回复
自定义类中有两个成员变量
2个成员,你先告诉我判断小于的规则先。
Key的
小于
操作符
号重载不
正确
导致
map
占用CPU占用100%的分析
一、问题描述。
map
的key的
小于
操作符
重载的实现不
正确
,导致在删除一个元素时候,CPU占用100%。有问题的代码如下:using namespace std;class CUser...{public: CUser(int iID,int iKey):miID(iID),miKey(iKey)...{}; ~CUser()...{};public:
STL
map
排序(重载
小于
号和仿函数)
STL中默认是采用
小于
号来排序的,以上代码在排序上是不存在任何问题的,因为上面的关键字是int型,它本身支持
小于
号运算,在一些特殊情况,比如关键字是一个结构体,涉及到排序就会出现问题,因为它没有
小于
号操作,insert等函数在编译的时候过不去,下面给出两个方法解决这个问题 第一种:
小于
号重载,程序举例 #include #include #include using namespace std; typedef struct tagStudentInfo {
使用用户
自定义
类
型作为std::
map
的…
有时候我们想把用户
自定义
类
型作为std::
map
的键值。 方法一)最简单的方法就是实现该
自定义
类
型的 class Foo { public: Foo(int num_) : num(num_) { } bool operator < (const Foo & cmp) const { return num < cmp.num;
c++之set插入
自定义
类
型的数据-重载
小于
运算符
问题: 定义了一个集合,存放了自定的数据,但是发现数据多的时候,只能插入两条数据;经过调研发现是
自定义
类
型的
小于
操作符
重载函数问题:之前判断的条件是,如果两个路径长度不相等,则表示该
类
型不一样;之后的条件是:如果两个路径名称不相等,则表示该
类
型不一样。 之前的代码如下: class UploadDirData { public: CLocalPath m_localPath; CSer...
关于set或
map
的key使用
自定义
类
型的问题
我们都知道set或
map
的key使用
自定义
类
型时必须重载 但是,还有一个条件,所调用重载的
小于
操作符
,使用的对象必须是const 而对象调用的方法也必须是const的 1 #include 2 #include 4 #include 7 using namespace std; 8 9 class Point{ 10 public: 11 Point(int X, int Y):x(X),
C++ 语言
65,211
社区成员
250,514
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章