void *指针和void参数

void*指针

void指针可以指向任何东西,是一个泛型指针,没有特定的类型。当指向不任何东西的时候,可以设置为NULL。当使用void指针时,必须注意,当你使用的时候,必须转换成适当的类型。

如果类型转型错误,会在运行时出现非预期的结果
https://stackoverflow.com/questions/22492435/why-does-a-void-pointer-point-to-anything

void参数

如下代码在C和C++语言里面的区分

void foo() { }

void foo(void) { }

在C语言里面
● void foo() 表示foo函数有数量不定且类型不定的参数
● void foo(void) 表示foo函数没有参数

在C++语言里面,2者是一致的
● void foo() 表示foo函数没有参数
● void foo(void) 表示foo函数没有参数

来源于
https://stackoverflow.com/questions/51032/is-there-a-difference-between-foovoid-and-foo-in-c-or-c

标准文档定义
http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2012/n3337.pdf

你可能感兴趣的:(c++,开发语言)