虽然这可能在编译器之间有所不同,但我希望从编译器的角度来看,一个运算符只是一个有点不寻常的名字的
功能,允许源
代码的语法看起来有点不一样.
尽管如此,在编译器的代码生成器运行的时候,我会期望一个重载的运算符和另一个函数之间的区别(做同样的事情)消失了.
因此,将其声明为内联或在类定义的主体内定义它将与操作符重载一样多(少量,取决于您的观点)与其他函数一样多.通常情况下,这种情况通常会很小 – 至少在优化启用时,大多数编译器几乎忽略了内联关键字,并自己决定如何在内部扩展内容(以及什么不是) .
请注意,编译器无法忽略内联关键字,但无论函数是否实际内联扩展,都必须遵守必须遵守的“一个定义规则”的一些特殊修改.