繁花如伊
在进行类库设计时,因为不确定类库的使用者具体使用什么类型的指针。此时都用void*指针,而C++的类型转转机制,可以把void*类型指针,转换成为必须的指针类型。具体转换有编译器实现!命令查看一个void *型的变量的时候,提示为:"attempt to dereference a generic a pointer " ,我该怎样才能查看这一类型的变量的内容呢?单独void*变量无法查看起内容,你必须强制类型转换后才可以看到,比如转换成为int*,或者char*什么的编译器才可以按这种要求解析,指针地址内的信息。很简单的一个例子char *p = "asdfasdf";int *p1 = (int*)p;这时候编译器在解析p1的内容时是使用整形解析方法。cout<<p;cout<<p1;打印的结果是cout<<p正常输出cout<<p1输出的是一个地址在编译器查看时,我们也会发现p1指向的是一个字符串类型。如果我们对wwo我们void *p = "asdfas"//编译器会给我们声明为string类型void *p= 2;