void *p 是什么意思?该怎么处理

void *p 是什么意思?
Int   *p   是指向int型的指针
那void   *p   就是指向void型的指针?   Void不是类型吧?   怎么会有这样的指针?通常会怎样应用它?


------解决方案--------------------
void *p是“不带类型信息的指针”,也就是说你不知道它指向的东西得到是啥类型的,结果就是它可以指向任何类型,是个“通用”指针。

------解决方案--------------------
void *是通用的 "万能 "指针,值含有地址值,不含有类型信息,所以不能取内容要转换成其他类型的指针才可以,这样可以随意传递地址
记住void *p;
*p是不可以的!
*(char *)p是可以的先转换后取内容
------解决方案--------------------
void 是一种类型, 表示 空类型。

不能对空类型进行直接操作,
但是可以在 空类型和其他任何类型 之间进行转换。
所以,
void 通常用于类型中介 ~
------解决方案--------------------
同上
但用的时候,要在前面加相应的类型(强制转换)
比如:
int val=12;
void *p = &val;

……

cout < <*((int *)p) < <endl;

------解决方案--------------------
void *p 就是 没有规定指向的类型,也就是说 指向任何类型都可以。
当然了,在使用时要进行“强制类型转换”。
还要注意,void*指针不能进行算术运算,因为编译器无法为你确定“步长”。
------解决方案--------------------
不带类型的指针```可以指向任何类型
------解决方案--------------------
是一个通用指针.
------解决方案--------------------
“黄金”,到那个国家都能用,可能直接兑换该国的纸币
------解决方案--------------------
应该说它是一种介质,应用于不同类型的指针转换之间
------解决方案--------------------
可以实现类似于模版的功能
------解决方案--------------------
指针的一个特殊类型,就和用在函数的返回值那样,有特殊的用途.


------解决方案--------------------
可以肯定的是,void是一种类型,和int,float没什么区别。这个类型比较特殊:表示“没有类型”或“不确定类型”。
void*和上面的意思差不多。它有一个很有用而且很常用的用法,就是当通用指针使用。
在C++中如果不使用模板,还想构造一个可以接受任何指针的函数,那么将这个可以接受任何指针的参数类型设位void*即可。
但是void*只可用于指针的传递,如果要访问指针指向的空间,必须要将void*转换为有意义的指针类型。