运算符重载:在某种编程语言中,允许为自定义类型(如类、结构体)重新定义或扩展运算符(如 +、==、[])的行为,使这些运算符能以更自然的方式作用于该类型。最常见于 C++ 等语言。(在不同语言里规则与限制差异很大。)
/ˈɑːpəˌreɪtər ˌoʊvərˈloʊdɪŋ/
Operator overloading lets you use + with your own classes.
运算符重载让你可以把 + 用在自己定义的类上。
In C++, careful operator overloading can make a math library feel intuitive, but overusing it may reduce code readability and surprise other developers.
在 C++ 中,谨慎地进行运算符重载能让数学库更直观易用,但滥用可能降低代码可读性,并让其他开发者感到意外。
“operator”源自拉丁语 operari(工作、操作),在计算机语境中指“运算符”;“overloading”来自“load(负载)”的引申含义,表示“在原有功能上加上更多用途”。合起来就是“让同一个运算符承载更多(不同类型的)操作含义”。
<<、>>、比较运算符等)。