我认为对于 C++,这可能也是我更喜欢使用 C 风格转换的唯一地方,因为在这里使用完整的静态转换表示法感觉有点矫枉过正。最后,如果您正在审查编码标准或编写一个编码标准,那么明确声明对重载运算符的调用(不使用函数调用表示法)也应该免除这一点也是一个好主意:
class A {};
A operator+(A const &, A const &);
int main () {
A a;
a + a; // Not a problem
(void)operator+(a,a); // Using function call notation - so add the cast.
大卫的 回答 几乎涵盖了这样做的动机,明确地向其他“开发人员”展示你知道这个函数返回但你明确地忽略它。
这是一种确保始终处理必要的错误代码的方法。
我认为对于 C++,这可能也是我更喜欢使用 C 风格转换的唯一地方,因为在这里使用完整的静态转换表示法感觉有点矫枉过正。最后,如果您正在审查编码标准或编写一个编码标准,那么明确声明对重载运算符的调用(不使用函数调用表示法)也应该免除这一点也是一个好主意: