做好我局门户网站建设工作,手机网页视频下载工具,wordpress更新很慢,营销网站特点首先分两大阵营#xff1a;C中引用是一块阵营#xff0c;C#、Java、Javascript、Python中引用是另一块阵营。之所以这样分是因为同一阵营中引用使用方法基本一样。C引用本质是个常量指针#xff0c;而其他语言引用本质是个普通指针。也就意味着C的引用一旦初始化(指向确定了…首先分两大阵营C中引用是一块阵营C#、Java、Javascript、Python中引用是另一块阵营。之所以这样分是因为同一阵营中引用使用方法基本一样。C引用本质是个常量指针而其他语言引用本质是个普通指针。也就意味着C的引用一旦初始化(指向确定了)以后就不可再修改(不可再指向其他对象)而其他语言的引用可以随时修改指向。具体区别(先声明下面所说的赋值是指“”)一个变量使用无非就两种情况读取变量的内容和给变量赋值。两大阵营中只有在读取引用时行为都一样在给引用赋值时行为不一样。读取引用时都是对引用进行“解引用”结果是读取了引用指向的实际变量的值。给引用赋值时C依然进行“解引用”所以C中碰到给引用赋值的语句时本质是给引用指向的变量赋值而在其他语言中不进行“解引用”本质是给引用这个指针赋值。正因为C引用在读取和赋值时表现都一样(都是解引用)所以很多书上说引用就是变量的别名因为任何时候使用引用(不管是赋值还是取值)都是使用引向的变量故而引用表现的就好像变量的别名一样(但要认清本质千万不要认为引用不占内存空间实际上他是个指针也占内存空间的)。但是在其他语言中引用就是指针不是变量的别名因为给引用赋值时没有自动解引用就是给指针赋值(操作的是指针不再是变量了所以不能称之为别名)取引用的值时会自动解引用就是取得引向的变量的值。(你可以称之为“半个别名”)那么问题来了在其他语言中怎么给引用引向的变量赋值呢(第二次以上的赋值第一次是变量自己的构造函数自动赋值)答只能通过copy函数不同语言都有对copy函数的不同实现。注意copy和构造函数不一样构造函数是给还不存在的变量赋值也就是建立变量并给变量第一次赋值而copy函数是给已经存在的变量赋第二次以上的值。最后补充一下C、C#、Java中的引用是有类型的也就是说指针是有类型的不可随意更改这个引用(指针)的类型而在Javascript、Python等脚步语言中引用是没有类型的也就是说指针是没有类型的可以随意更改引用(指针)的类型也即引用是“无类型的”可以随意指向任何数据类型。