gpt4 book ai didi

c++ - 在没有参数的函数中使用void?

转载 作者:IT老高 更新时间:2023-10-28 21:36:50 42 4
gpt4 key购买 nike

在 C++ 中,在不带参数的函数中使用 void,例如:

class WinMessage
{
public:
BOOL Translate(void);
};

是多余的,你还不如写Translate();.

我自己通常包含它,因为当支持代码完成的 IDE 显示 void 时它会有点帮助,因为它确保我的函数绝对不需要参数。

我的问题是,将 void 添加到无参数函数是一种好习惯吗?在现代代码中应该鼓励它吗?

最佳答案

在 C++ 中

void f(void);

等同于:

void f();

第一种样式仍然可以合法编写的事实可以归因于C。
n3290 § C.1.7(C++ 和 ISO C 兼容性)声明:

Change: In C++, a function declared with an empty parameter list takes no arguments.

In C, an empty parameter list means that the number and type of the function arguments are unknown.

Example:

int f(); // means int f(void) in C++
// int f( unknown ) in C

在 C 中,避免那种不受欢迎的“未知”含义是有意义的。在 C++ 中,这是多余的。

简短回答:在 C++ 中,这是过多 C 编程的后遗症。在我看来,这将它放在 C++ 的“除非你真的必须这样做”的括号中。

关于c++ - 在没有参数的函数中使用void?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9545208/

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