关于void*指针:有一下几点要注意:
1 可以把void*类型的指针当做左之来接受其他类型指针的赋值。
不可以把void*类型指针左右右值赋给某一类型的指针。
int val = 1000;
int* int_val = &val;
void *anyTypePointer = nullptr;
anyTypePointer = int_val; //正确
int_val = anyTypePointer ; //错误,编译不通过
原因:c++严格的类型检查
分析:白马是马,马不是白马
2 使用void*指针的时候要对指针进行类型转换
比如:
A: (*(int*)anyTypePointer) = 10;
B: std::cout <<(*(int*)anyTypePointer) << std::endl;
原因:c++类型检查