paip.指针 引用 c++ java的使用总结.

paip.指针 引用  c++ java的使用总结.


///////////////一般一个变量包括下面的信息
a.地址(指针)  b。命名(引用,别名)   c.变量内容..


指针是一个变量的地址,引用是一个变量的别名。
1. 指针是一个地址编号,而引用仅是个别名;
2. 引用使用时无需解引用(*),指针需要解引用;
3.引用是操作受限了的指针(仅容许取内容操作)。
4.指针用操作符‘*’和‘->’,引用使用操作符‘.’
5.指针是用来指向某个变量,而引用是给变量取个别名,其作用就如同typedef一样。
6.所以引用访问对象是直接访问。指针访问对象是间接访问。
7.两者在作为形参的时候非常相似,区别是指针拷贝副本,引用不拷贝。
8.一般使用引用来指向一个基本类型,, 使用指针来指向对象(包括数组).. 也可以使用引用指向对象,可能他是存储在stack中的,尺寸限度(1-2M),所以,大的对象会stack full 或者不能access 内存(内存越过限度)..

作者Attilax ,  EMAIL:1466519819@qq.com
来源:attilax的专栏
地址:http://blog.csdn.net/attilax

////////////c++中的指针..
在C++里优先选择引用类型作为形参,因为操作一个变量比操作一个指针要简单的多
但用指针作为形参的好处是它可以通过自增或自减改变它的指向


用引用作形参时在调用函数里就像操作实参一样,不需要考虑实参的地址问题
用指针做形参时,由于指针的值是变量的地址,所以要通过对地址解引用来操作其所指的变量



例:int a=10;//a存放在存储空间的地址为:0x000009
       int &b=a;//b就是a的引用,此时b 的值也为10
       int *ptra=&a;//ptra就是a的指针,其值为0x000009
       
       
       
////////////java中的point
    //定义变量包装类.
          IntByReference intRef=new IntByReference(9);
          //获得变量的值(( 9 ))
          System.out.println(intRef.getValue());
          //获得变量的指针包装对象..
          Pointer pointer = intRef.getPointer();
        System.out.println(pointer );
        //allocated@0x571b48 (4 bytes)
        //---------------------------------
        int addr = pointer.hashCode();
        System.out.println("Add:"+addr);          
          //打印出指针(地址)..
        //  Add:3283784  (0x571b48)

参考
paip.c++ 指针跟引用的区别.
C++中的- 和.的问题?_百度知道.htm
指针和引用有什么区别 请写一个简单的程序说明_百度知道.htm
指针和引用的区别_百度知道.htm
posted @ 2014-03-24 10:16  attilaxAti  阅读(157)  评论(0编辑  收藏  举报