HilliardLiu
2019-12-04 11:02
采纳率: 100%
浏览 657

请大神指导下这段代码里“inline bool operator < (const candim &r) const”是个什么作用?

struct candim
{
char usr_id[32+1];
char vcard_no[19+1];
inline bool operator < (const candim &r) const
{
int ret = 0;
if(ret = memcmp(usr_id , r.usr_id , sizeof(usr_id ) - 1)) return (ret < 0);
return (memcmp(vcard_no , r.vcard_no , sizeof(vcard_no ) - 1) < 0);
}
//inline int add(string a, string b) {usr_id = a; vcard_no = b; return 0;}
};

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • addddddee 2019-12-04 12:03
    已采纳

    重载struct candim的小于运算符,这样可以比较,比如在索引等运算中就需要重载这个运算符

    struct candim c1,c2;
    c1,c2初始化
    if(c1<c2){ //不重载“<”运算符就不能比较,这里的比较是先比较usr_id,如果相同在比较vcard_no
    }

    打赏 评论
  • threenewbee 2019-12-04 11:07

    重载小于号运算符,并且将这个函数作为内联函数以提高性能。

    打赏 评论

相关推荐 更多相似问题