(总结)C++与java比较教程--7.2 C++中声明指针类型和指针数组(待补充)

                                                         C++中声明指针类型和指针数组

      C++和Java最引人瞩目的区别之一就在于C++有指针而Java没有指针. 

      注意:有人认为Java中的对象引用实际上就是指针,但是由于Java中的对象引用并不直接是一个内存地址,不能对其进行解引用,也不能对其进行指针运算,所以不认为其为指针.

    1.C++中声明指针类型:

   (1).任意类型的指针的声明.
      int * p = NULL;
     数据类型  * p 就表示指向此种数据类型变量的指针.

    (2),任意类型指针的赋值和初始化.
       int i  = 100;
       int * p1 = NULL;
       p1 = &i;

       int *p2 = &i;
     (3),任意类型的指针的解引用(间接访问):
      int  j  =  *p1;

     2.C++中特别需要使用指针的3中情况:

      (1). 多态:
       在C++中,只有当对象是通过指针或者引用进行操纵时才能表现出多态的行为.

      (2),相互嵌套类:
      class B;     //类的前向声明(不完整声明)
      class  A
      {
      B  b;
      } 
     class B
      {
      A a;
      }

      (3) 需要一个"null"对象:
         创建一个对象:
         Person* ptr = new Person( "John Doe", "Main Street USA" );
         "清空"这个对象的操作是:
          delete  ptr;
          ptr = NULL;

         但是这样创建的对象  Person peson1( "John Doe", "Main Street USA" );  由于没有涉及到指针,故不能如上操作来清空.

      3.C++中的指针数组:

(1),声明指针数组:
    int  * int_array[100];
    const  int  MaxClassSize = 100;
    string * names [MaxClassSize ];

(2).字符串指针数组的初始化:
      方法1:
      string * names [MaxClassSize] = {0};
      方法2:
      for (int i=0;i<MaxClassSize;i++)
      {
       names[i] = NULL;
       }

  
       
     

       

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值