运算符在C++中重载

shr*_*sva 6 c++ operator-overloading

如果你重载 - 就像operator-(),它将被用在对象的左边,但是像operator()()这样的overloading()被用在对象的右边.我们如何知道左侧使用哪个运算符以及右侧使用哪个运算符?

Mat*_*hen 3

查看运算符优先级图表。这将告诉您操作员关联(绑定)的方向。请注意,某些运算符具有具有不同含义的多种形式,例如二元和一元-。在这种情况下,您可能有多个重载,例如:

T operator-()
Run Code Online (Sandbox Code Playgroud)

和:

T operator-(const T &o)
Run Code Online (Sandbox Code Playgroud)

编译器根据运算符的语法解释选择正确的运算符。

另请参阅这套有用的指南