深入讨论重载运算符
  • 板块学术版
  • 楼主MessageBoxA
  • 当前回复10
  • 已保存回复10
  • 发布时间2023/5/30 16:52
  • 上次更新2023/10/23 14:18:47
查看原帖
深入讨论重载运算符
77584
MessageBoxA楼主2023/5/30 16:52

举例:

double operator()(double x) const{
    return a * x + b;
}
inline bool < (const TYPE& x,const TYPE& y){
    return x.num<y.num;
}

重载运算符的形式五花八门,没搞懂每个细节是什么意思

  1. 重载运算符打inline有用吗,还是说编译器会自动将其调整为内联函数
  2. 重载括号是什么意思,我见过有人用这个更改set的排序规则,所以究竟重载括号改变了什么
  3. 两个函数的const的位置有区别,一个打在变量处,一个打在函数名称后面的,分别什么作用

    衍生问题:函数定义变量时的const是干啥的,传进来的并不是常量啊?这样会更快吗?

  4. 如第二个函数,定义变量时加上了&作为修饰,可是重载运算符不需要修改传进来的变量的真实值啊?这样做是什么目的,会更快吗,还是说某种习惯(雾

望语法大佬耐心解答,感激不尽qwq!

2023/5/30 16:52
加载中...