您的位置:首页 > 编程语言 > C语言/C++

c++中 void*的使用

2016-03-23 19:08 281 查看

说明

指针变量包含两个信息,地址和数据的类型。而void*是一种特殊的指针,其只包含地址而不包含类型。

int a;
void *vpa = &a;  //可以
int *ipa = vpa;  //错误,正确方式如下。
int *ipa = (int*)vpa;  //可以,强转以后才可以

int b = *vpa;  //错误,void*类型不能具体化


作用

用来传递不确定类型的参数。也常用于回调函数中,传入批量的参数;

void function(int dataType, void* data) {

// 根据dataType的不同值,进行不同的转换
switch (dataType) {

case 0:
int* a = (int*)data;

case 1:
char* a = (char*)data;

...
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: