gpt4 book ai didi

c++ - 为什么将未使用的返回值强制转换为 void?

转载 作者:IT老高 更新时间:2023-10-28 11:54:01 25 4
gpt4 key购买 nike

int fn();

void whatever()
{
(void) fn();
}

是否有任何理由将未使用的返回值强制转换为 void,还是我认为这完全是浪费时间?

最佳答案

大卫的 answer几乎涵盖了这样做的动机,以明确向其他“开发人员”展示您知道此函数返回但您明确忽略它。

这是一种确保始终处理必要的错误代码的方法。

我认为对于 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++ - 为什么将未使用的返回值强制转换为 void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/689677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com