C++ 为什么VS2010向导在ctor和dtor中添加void类型?
每当我通过VS向导添加类时,我都有以下实现:C++ 为什么VS2010向导在ctor和dtor中添加void类型?,c++,visual-studio,wizard,C++,Visual Studio,Wizard,每当我通过VS向导添加类时,我都有以下实现: class CDxWindow { public: CDxWindow(void); ~CDxWindow(void); }; 通常我会删除空白 但也许有什么理由把它们留在代码里 为什么微软在那里添加了void?没有理由,只是有人学究气。如果你愿意,你可以在这里安全地删除void。没有理由,只是有人学究气。如果你愿意,你可以在这里安全地删除void。我不能告诉你他们为什么决定这样做,但我所知道的是,在C中,这是一个表示函数没有参数的
class CDxWindow
{
public:
CDxWindow(void);
~CDxWindow(void);
};
通常我会删除空白
但也许有什么理由把它们留在代码里
为什么微软在那里添加了void?没有理由,只是有人学究气。如果你愿意,你可以在这里安全地删除
void
。没有理由,只是有人学究气。如果你愿意,你可以在这里安全地删除void
。我不能告诉你他们为什么决定这样做,但我所知道的是,在C中,这是一个表示函数没有参数的构造,所以可能这就是他们试图说的。我不能告诉你他们为什么决定这样做,但我所知道的是,在C中,这是一个表示函数没有参数的构造,所以可能这就是他们试图说的。在C中,一个声明没有参数的函数被假定为接受一个整数参数。使用void参数列表声明函数会告诉编译器不要采用此默认值
这不适用于C++,因此空隙是不必要的。假设在没有参数的C函数中,
< p>取一个整数参数。使用void参数列表声明函数会告诉编译器不要采用此默认值这不适用于C++,因此空缺是不必要的。
实际上,在C中,一个没有参数声明的函数(例如,<>代码>无效(f>)),必须用它定义的相同数量和相同类型的参数调用,但是编译器不会检查它。更多信息,这是从:如果函数不返回一个值,使用关键字void作为类型说明符。如果函数不接受任何参数,请使用关键字void而不是空参数列表来指示函数未传递任何参数。在C语言中,参数列表为空的函数表示参数数目未知的函数;在C++中,它意味着它不需要参数。实际上,在C中,一个没有参数声明的函数(例如<代码>无效(f>);)必须用它定义的相同数量和相同类型的参数调用,但是编译器不会检查它。更多信息,这是从:如果函数不返回一个值,使用关键字void作为类型说明符。如果函数不接受任何参数,请使用关键字void而不是空参数列表来指示函数未传递任何参数。在C语言中,参数列表为空的函数表示参数数目未知的函数;在C++中,它意味着不需要参数。