求书:generic programming and the STL, 只要不是繁体版就行,谢谢。

leomay 2007-05-17 09:23:27
求书:generic programming and the STL, 只要不是繁体版就行,谢谢。
我的邮箱是leomayleomay@gmail.com
...全文
587 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
taodm 2007-05-17
  • 打赏
  • 举报
回复
那么“STL”怎么能和“stl”equivalence
!less(x,y)&&!less(y,x),你自己心算一下呀。
leomay 2007-05-17
  • 打赏
  • 举报
回复
equality是基于==操作符来判断是否相等,这应该就是所谓的“相同”
equivalence是基于less来判断是否相等,也就是判断 !less(x,y)&&!less(y,x),则认为x和y是相等的,这应该就是所谓"等同"
这是我的理解,可能有偏颇,希望能看一下您的高见,谢谢。
taodm 2007-05-17
  • 打赏
  • 举报
回复
再认真看看那个item。
你对equivalence的理解完全错误。
leomay 2007-05-17
  • 打赏
  • 举报
回复
如果按照equality,"STL" != "stl", 但是按照equivalence,“STL”等同于“stl”
lidongri 2007-05-17
  • 打赏
  • 举报
回复
大小写应该是区分的
leomay 2007-05-17
  • 打赏
  • 举报
回复
再问一个问题,effective STL书中第19条说associative container采取的都是equivalence策略而不是equality,也就是说对于一个set来说,“STL”和“stl”是同一个对象,执行insert操作时只能插入其中之一,但是实验的结果确实两个都能插入,希望能帮忙看一下,谢谢。
leomay 2007-05-17
  • 打赏
  • 举报
回复
恩,谢谢了。
taodm 2007-05-17
  • 打赏
  • 举报
回复
告诉他,你在看更好的书即可。
建议看《STL源码剖析》
leomay 2007-05-17
  • 打赏
  • 举报
回复
我的gtalk是leomayleomay@gmail.com
这么说有点麻烦,能加一下吗?
leomay 2007-05-17
  • 打赏
  • 举报
回复
领导要看这本啊,我也没辙,呵呵
  • 打赏
  • 举报
回复
我有纸版,这个书也不错.
taodm 2007-05-17
  • 打赏
  • 举报
回复
STL好书多着呢,何必这本。
leomay 2007-05-17
  • 打赏
  • 举报
回复
item3中提到的copy请问是深拷贝还是浅拷贝?这个问题是不是跟被拷贝的对象中是否指针成员变量有关,谢谢。
leomay 2007-05-17
  • 打赏
  • 举报
回复
貌似有点明白了,看样从字面去理解equality和equivalence是不行的,还需要看一下它们在数学上的定义才是啊,多谢。
taodm 2007-05-17
  • 打赏
  • 举报
回复
struct Test
{
char c;
bool operator==(const Test & x) const {return tolower(c) == tolower(x.c);}
bool operator<(const Test & x) const{return c < x.c;}
}
leomay 2007-05-17
  • 打赏
  • 举报
回复
看过了,item21建议对于相等(equal)的值,associative container的comparison function都要返回false,也就是说equal values don't mean that they are equivalent, 可是您能给举一个equivalence的例子看一下吗?谢谢。
taodm 2007-05-17
  • 打赏
  • 举报
回复
再看看effective stl的item21
leomay 2007-05-17
  • 打赏
  • 举报
回复
那如果按照您的说法,能否麻烦您给出一个equivalence的例子,谢谢。

64,652

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧