我想学习有关使用空格来编写正确的运算符重载的规则(如果有)。
我见过不同的形式:
T operator+(T t1, T t2) /* etc. */
T operator+ (T t1, T t2) /* etc. */
T operator +(T t1, T t2) /* etc. */
T operator + (T t1, T t2) /* etc. */
Run Code Online (Sandbox Code Playgroud)
我说的是关键字、运算符字符和第一个括号之间的空格operator。
哪一个是正确的?与其他相比,什么是首选?其中有些是错误的,还是有些在某些情况下是正确的,而在其他情况下是错误的(反之亦然)?
简而言之:空格在这里有什么特殊含义吗(在这个特定主题中(我不询问代码中一般使用空格的情况)?
如果是这样,何时以及为什么?如果不是,什么被认为是最佳实践?