今天看书的时候看到了Void*指针,以前一直以为是空指针,今天才发现自己理解错误。特总结如下!
C++提供了一种特殊的指针类型Void*,它可以保持任何类型对象的指针,但不是说它是空指针。
但是对于Void*指针的操作有限制它只可以进行一下几种操作。
1:比较操作。
2:向函数传递Void*指针或者返回Void*指针。
3:给另外一个Void*指针赋值,不允许使用Void*指针操作它所指向的对象。
代码示例:
#include "iostream"
using namespace std;
int main(){
void* test1;
void* test2;
int a = 3,b=4;
test1 = &a;
test2 = &b;
//比较操作
if (test1>test2)
cout<<"大"<<endl;
else cout<<"小"<<endl;
//Void * 的作用
//int C=*test2;//错误必须强制转换
int tmp = *(int *)test2;
cout<<tmp<<endl;
return 1;
}