如何在C++中重载opAssign运算符"global"

1 c++ operator-overloading

只是好奇如何超载它们.

opAssign运算符类似于addAssign(+ =)和subAssign( - =).

"global"意味着它们不会作为成员函数重载,而只是操作符作用于操作数

对于这些opAssign运算符,它们是二元运算符.(它们接收两个操作数)因此需要两个参数.

我在网上找不到任何例子......

sep*_*p2k 9

这是一个定义的简单例子operator+=:

struct Foo{
    int x;
};

Foo& operator+=(Foo& lhs, const Foo& rhs) {
    lhs.x += rhs.x;
    return lhs;
}
Run Code Online (Sandbox Code Playgroud)

  • rhs应该通过const引用传递,因为rhs没有被函数修改. (6认同)