社区
C++ 语言
帖子详情
set的问题
thewayhome
2007-04-27 02:20:02
有個struct S我重載了它的<和==方法
假設:
S s1;S s2;
有 s1 == s2;
set<S> Set;
Set.insert(s1);
Set.find(s2)!=Set.end();
但是如果我定義Set為set<S*>,
就有
Set.insert(&s1);
Set.find(&s2) ==Set.end();
怎样解決?
...全文
161
2
打赏
收藏
set的问题
有個struct S我重載了它的<和==方法 假設: S s1;S s2; 有 s1 == s2; set Set; Set.insert(s1); Set.find(s2)!=Set.end(); 但是如果我定義Set為set, 就有 Set.insert(&s1); Set.find(&s2) ==Set.end(); 怎样解決?
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
2 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
longshanks
2007-04-27
打赏
举报
回复
Set<S*>是S指针的set。那么插入&s1时,将通过比较s1的指针值,也就是s1的地址,而不是s1本身。不会调用S上的<。S的<的语义是进行Sd对象的值比较,不是指针比较。于是,只有用s1的地址去find,才能得到插入的s1。
为此,只能另行定义一个比较函数(或函数对象),作为set模板的第二个模板参数:
struct s_less
{
bool operator()(const S* s1, const S* s2) {
*s1<*s2;
}
};
set<S*, s_less> Set;
...
Meyes的《Effective STL》中关联容器一章对此有详细的解释。
taodm
2007-04-27
打赏
举报
回复
那你得起用set模板的第二个参数,使用自定义的比较函数
$GOPATH not
set
问题
解决方案
$GOPATH not
set
问题
解决方案
java
set
初始化
java
set
初始化
set
在执行add方法时,多次报空指针异常,后来发现
Set
初始化时,如果是
Set
set
= null; 这样的话,在执行
set
.add(element)的时候会报空指针异常,具体原因不知,如果这样初始化:
Set
set
= new Hash
Set
就不会,而
Set
set
= new
Set
会提示Cann
error: device unauthorized.This adb server's $ADB_VENDOR_KEYS is not
set
问题
的解决
最近拿了个新手机,cmd 命令行安装apk时候,遇到:Microsoft Windows [版本 6.1.7601] 版权所有 (c) 2009 Microsoft Corporation。保留所有权利。 C:\Users\Administrator>adb install C:\Users\Administrator\Desktop\release\release\GangGang_rel...
vue中表格增行后dialog弹出窗口赋值,虽然已经有值了但是不显示$
set
问题
由于$
set
需要明确设置项才能赋值并更新,所以需要具体内容具体说明 我定义了tableData是一个数组,数组中是对象 tableData:[{name:'张三',code:'a001',age:30},{name:'张三',code:'a001',age:30}] 现在要给数组中的某个对象的属性赋值,应该这样 this.$
set
(this.tableData[index],'name',...
解决maven打包编译出现File encoding has not been
set
问题
原文:http://blog.csdn.net/crazycoder2010/article/details/7077233 maven打包编译时后台一直输出警告信息 [WARNING] File encoding has not been
set
, using platform encoding GBK, i.e. build is platform dependent!
C++ 语言
65,185
社区成员
250,526
社区内容
发帖
与我相关
我的任务
C++ 语言
C++ 语言相关问题讨论,技术干货分享,前沿动态等
复制链接
扫一扫
分享
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++
技术论坛(原bbs)
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
请不要发布与C++技术无关的贴子
请不要发布与技术无关的招聘、广告的帖子
请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下
试试用AI创作助手写篇文章吧
+ 用AI写文章