void表示“无类型”,void*表示“无类型指针”。
void的作用如下:
-
对函数返回类型的限定,表示函数无返回
-
对函数参数列表的限定,表示函数无参数
void dispaly(string msg){ //无返回类型
cout << msg << endl;
}
int main(void){ //无参数列表
string str = "hello";
display(str);
return 0;
}
-
void*指针可以用来存放任何类型指针和对象的地址
可以将任意类型指针和对象的地址赋予void*,而无需执行强制类型转换。
void* vp;
int* ip = &obj;
vp = ip;
若函数可以接受任何类型指针或者返回任何类型的指针,应该讲将其声明为void*。
//可以返回任意类型的指针,接受任意类型的指针
void* func(void*){}
-
不能声明void类型的变量
-
在未对void*指针赋予确定类型指针前不允许对void*指针进行操作