【转载】C++ 重载运算符使用const的原因

如这段代码:

    bool operator <(const student &a ) const{     
        if(score!=a.score) return score<a.score;
        else if(name.compare(a.name)!=0) return name<a.name;
        else if(age!=a.age)return age<a.age;
        else
            return false;
    }
};

 

 加const是因为:

  1. 我们不希望在这个函数中对用来进行赋值的“原版”做任何修改。函数加上const后缀的作用是表明函数本身不会修改类成员变量。
  2. 加上const,对于const的和非const的实参,函数就能接受;如果不加,就只能接受非const的实参。

另外补充,用引用是因为:

这样可以避免在函数调用时对实参的一次拷贝,提高了效率。

 

原文:https://blog.csdn.net/qq_36770641/article/details/89884807

posted @ 2020-09-24 17:29  褪色回音  阅读(603)  评论(0)    收藏  举报