posts - 1,  comments - 0,  trackbacks - 0
  2008年12月5日
   在c++里,void*是一种特殊的指针类型,它可以被任何数据指针类型的地址赋值(函数指针不能赋值给它),因此有时void*被称为泛型指针。void   *从本质上讲是一种指针的类型,就像   (char   *)、(int   *)类型一样.但是其又具有特殊性,它可以存放其他任何类型的指针类型;

         例如:  
                                        char   *array="I   am   the   pointer   of   string";  
                                        void   *   temp;                   //temp可以存放其他任何类型的指针(地址)  
                                        temp=array;                           //temp   的指针类型  
                                        cout<<array<<endl;  
                                        cout<<temp<<endl;  
  运行结果:  
                                      I   am   the   pointer   of   string  
                                      0x0042510C   (这个值就是array指针变量所存储的值)       
    
  2.但是不能将void   *类型的值赋给其他既定的类型,除非经过显示转换:   
          例如:   
                       int    a=20;   
                       int*   pr=&a;   
                      void* p;   
                       pr =  p               //error,不能将空的类型赋给int   *   
                       pr = (int* )p;     //ok,经过转换
posted @ 2008-12-05 17:31 许海林 阅读(124) | 评论 (0)编辑 收藏
仅列出标题  
<2024年11月>
272829303112
3456789
10111213141516
17181920212223
24252627282930
1234567

常用链接

留言簿

随笔档案

搜索

  •  

最新评论