void*是一种特殊的指针类型,可以用来存放任意对象的地址。一个void*指针存放着一个地址,这一点和其他指针类似。不同的是,我们对它到底储存的是什么对象的地址并不了解;
比如:double a=2.3;
int b=5;
void *p=&a;
cout<<p<<endl; //输出了a的地址
p=&b;
cout<<p<<endl; //输出了b的地址
//cout<<*p<<endl;这一行不可以执行,void*指针只可以储存变量地址,不冷直接操作它指向的对象
利用void*可以直接做的事比较有限:拿他和别的指针比较,作为函数的输入或者输出,或者赋值给另外一个void*的指针。不可以操作void*指向的对象。如此一来,内存空间就仅仅是内存空间,没办法访问内存空间指向的对象。