关于重载运算符
  • 板块灌水区
  • 楼主_Paradox_
  • 当前回复9
  • 已保存回复10
  • 发布时间2023/11/26 20:17
  • 上次更新2023/11/26 22:01:34
查看原帖
关于重载运算符
374987
_Paradox_楼主2023/11/26 20:17

请问各位大佬,对结构体进行重载运算符时,在结构体中进行重载和在外面重载,时间常数有区别吗

比如:

我在【模板】多项式乘法(FFT) 中对结构体complex进行重载

//第一种
struct complex{db a,b;};
complex operator +(complex x,complex y){return {x.a+y.a,x.b+y.b};}
complex operator -(complex x,complex y){return {x.a-y.a,x.b-y.b};}
complex operator *(complex x,complex y){return {x.a*y.a-x.b*y.b,x.b*y.a+x.a*y.b};}
//第二种
struct complex{
    db a,b;
    complex operator + (complex x){return {a+x.a,b+x.b};}
    complex operator - (complex x){return {a-x.a,b-x.b};}
    complex operator * (complex x){return {a*x.a-b*x.b,b*x.a+a*x.b};}
};

第一种会tle后两个点,第二种可以ac这是为什么呢

2023/11/26 20:17
加载中...