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

时间:2023-07-04 08:48:50

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