java中引用、C++的引用和C的指针的区别

其实在java中是拿不“对象”的,你只能拿到这个“对象”的引用(地址),也就是说在java语法层面是没有一个变量能表示对象,你只能拿到这个对象的地址,即只能通过这个引用操作这个对象。

在C/C++中的指针和java中的引用是一个概念,本质上存的都是地址。不过有些区别,在C/C++中基础类型也可以有指针的(int* a),在java中基础类型可没有引用这么一说。

在C++中,是可以拿到“对象”的,这个就涉及到了在C++中对象创建的两种方式,请看C++创建对象的两种方式。

下面就该说C++中引用的概念,引用就是基础类型变量或者对象的别名。

我们仔细想想,在java当中好像都是值拷贝,基础数据类型赋值,拷贝了一份数据,对象引用的赋值其实也是值拷贝,只不过拷贝的是地址而已。在java当中,你把一个基本数据类型做为参数传给一个函数的形参,发生值拷贝,在函数内改变形参,和外面是没有关系的。但是在C++中,由于引用的存在,可以选择有关系也可以普通值拷贝没有关系。

 

C++:引用的简单理解

 

你可能感兴趣的:(java中引用、C++的引用和C的指针的区别)