今天看书的时候看到了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;
}
Void*指针详解
本文澄清了Void*指针并非空指针的误解,并详细解释了其用途与限制。介绍了Void*指针可以用于保存任何类型对象的地址,但只能进行特定的操作如比较等,并通过代码示例展示了如何正确使用Void*指针。
1179

被折叠的 条评论
为什么被折叠?



