引用和指针的区别

来源:互联网 发布:淘宝客qq群如何拉人 编辑:程序博客网 时间:2024/05/22 12:01

相同点:都指向同一内存空间

不同点:1、引用在初始化后不能再被重新声明为另一变量的别名,而指针变量可执行任意地址空间;[引用初始化不可变,而指针可变]

2、引用只是与数据的一种联系,自身不占有内存空间,指针在不同操作系统及编译环境下占有不同内存空间

                3、指针是可以进行与整数做加减运算的,两个指针之间也可以进行大小比较运算,而引用只能进行赋值运算

 附:java的方法参数只能传值,引用做参数使用时,返回


Example:

引用版:void f(&a)

               {

a=&b;//企图使a改变成b的别名,错误

}

                f(c);

指针版:void f(*a)

               {

a=&b;

}

                f(&c);

附:c++引用和java引用有所区别,而java引用类似与c++指针,php引用类似与c++引用

java引用版:void f(A a)

                     {

 a=A(3);

     }

                     f(c);

0 0
原创粉丝点击