族谱网 头条 人物百科

引用

2020-10-16
出处:族谱网
作者:阿族小谱
浏览:575
转发:0
评论:0
例子指针是最简单的引用,由于和底层硬件的亲密关系,使其成为最强大及有效的引用之一。不过,也因为此一关系,程序员在使用指针时,必须非常了解内存架构的细节。因为指针存储内存的地址,而非直接存储值,不正常地使用指针会导致程序出现未定义行为。智能指针是一个非透明指针,作用和指针相似,但只能通过特定方式访问。句柄是一种抽象引用,可用许多不同方法呈现。其中一个常见的例子为文件句柄(用于C语言标准输入/输出库中的文件数据结构),用来描述抽象的文件内容。文件句柄通常可用来表示文件本身(当要求该文件的锁时),以及文件内容中的某一特定位置(当读存该文件时)。在分布式计算中,引用可能包含一个以上的地址或识别字;也可能包括用来定位或访问引用对象之网络协议的编码格式,用来说明消息被编码或序列化之方式。举例来说,WSDL中对远程网络服务的描述可被视为一种引用,包括如何定位及绑定特定Web服务之完整格式。另一个例子为对...

例子

指针是最简单的引用,由于和底层硬件的亲密关系,使其成为最强大及有效的引用之一。不过,也因为此一关系,程序员在使用指针时,必须非常了解内存架构的细节。因为指针存储内存的地址,而非直接存储值,不正常地使用指针会导致程序出现未定义行为。智能指针是一个非透明指针,作用和指针相似,但只能通过特定方式访问。

句柄是一种抽象引用,可用许多不同方法呈现。其中一个常见的例子为文件句柄(用于C语言标准输入/输出库中的文件数据结构 ),用来描述抽象的文件内容。文件句柄通常可用来表示文件本身(当要求该文件的锁时),以及文件内容中的某一特定位置(当读存该文件时)。

在分布式计算中,引用可能包含一个以上的地址或识别字;也可能包括用来定位或访问引用对象之网络协议的编码格式,用来说明消息被编码或序列化之方式。举例来说,WSDL中对远程网络服务的描述可被视为一种引用,包括如何定位及绑定特定Web服务之完整格式。另一个例子为对即使分布式对象的引用:该引用为一个如何建设称之为“代理(proxy)”之小型软件组件的完整格式,此代理接着会运行点对点(peer-to-peer)的交互,并使本地机器得以访问被复装或只存在部分一致之消息流的数据。

编程语言的支持性

在第一个被使用的编程语言-汇编语言中,一般使用未处理的内存地址或数组中的索引表示引用。这样使用是可行的,但有点微妙,因为一个地址无法告诉你它指向的值是什么,更不用说这个值有多大,或是该如何解释;此类消息都内含在程序的逻辑之中。如此一来,误解将可能出现在不正确的程序里,引发令人感到困惑的错误。

最早的不透明引用为LISP的 cons 函数,此一函数只是一个包含两个引用至其他Lisp对象的记录,其他Lisp对象也可能包括其他的cons函数。此一简单的结构最常被用来建构单向链表,但也可用来建构简单的二叉树,以及一种被称为“点状串列”的结构,该结构最终会终止于一个值上,而非空引用。

另一个早期的语言-Fortran则没有明确用来表示引用的用法,但可以传引用调用的方式使用引用。

指针依然是今日最常见的一种引用,类似于汇编语言中对未处理内存地址的表示方式,不同之处在于指针带有一个固定之数据类型,可在编译期间用来确保所指之数据不被误解。不过,因为C语言有个可以使用类型转换(在不同指针类型间及指针类型与整数间转换)的弱类型系统,虽然较为困难,但还是有可能误解。C++试图在C++标准程序库中使用新的cast运算符及较聪明的指针,以增加类型安全;但为了兼容性,仍保留绕过这些安全机制的能力。

许多今日常见的主流语言,如Eiffel、Java、C#及Visual Basic等,则均采用了一种更加不透明的引用,通常即简称为“引用”。此类引用具有类似C语言指针的类型,会指出其所引用数据的意思;不过,此类引用为类型安全的,无法指向一个未处理的地址,以及进行不被允许的不安全转换。

引用与指针的区别

对于同时支持引用与指针的C/C++,两类数据型的区别有:

指针可以重新赋值,而引用在初始化绑定后就不能再绑定到其他对象。

指针对象有它自己的内存地址与内存长度,而引用与它指向的对象具有相同的内存地址、内存长度。因此,可以把引用看作是被指向对象的另一个名字。

指针可以指向另一指针,因此允许多层的指针间址(indirection);而引用只允许到对象的一层间址,不允许“引用的引用”。

指针可以直接赋值为NULL,引用不能。当然,可以费劲办法把引用绑定到内存的NULL上,但这并不实用。

指针可以在数组上遍历(iterate),引用不能。

指针需要用运算符“*”来解引用(dereference)以访问它所指向的内存的内容;引用需要显式的解引用。指向类/结构的指针访问成员变量/成员函数需要用运算符->而引用使用运算符.来访问成员。

指针是一个变量,保存了内存地址;而C/C++标准都没有明说引用是如何实现的。实际上,几乎所有C/C++编译器把引用作为一个隐式的指针来实现。

指针可以成为数组的成员类型,即指针数组;但引用不可以作为数组的成员类型,即不存在“引用数组”。

const引用可以绑定到临时对象;而指针不能(例如, int *y = 12; 编译出错)。按照C++11语法,const左值引用可以绑定到一切对象,包括const左值对象,非const左值对象,const临时对象,非const临时对象;右值引用当然可以绑定到临时对象。

参考文献

 

参见

抽象化 (计算机科学)

变量 (程序设计)

弱引用

 


免责声明:以上内容版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。感谢每一位辛勤著写的作者,感谢每一位的分享。

——— 没有了 ———
编辑:阿族小谱
发表评论
写好了,提交
{{item.label}}
{{commentTotal}}条评论
{{item.userName}}
发布时间:{{item.time}}
{{item.content}}
回复
举报
点击加载更多
打赏作者
“感谢您的打赏,我会更努力的创作”
— 请选择您要打赏的金额 —
{{item.label}}
{{item.label}}
打赏成功!
“感谢您的打赏,我会更努力的创作”
返回

更多文章

更多精彩文章
打赏
私信

推荐阅读

· 引用
明引明白清楚的指出引用的话是某人所说的叫“明引”。例如:“爱迪生说:‘成功是靠一分天才,九十九分的努力。’可见努力的过程才是最重要的。”“治生之道,莫尚乎勤,故邵子云:‘一日之计在于晨,一岁之计在于春,一生之计在于勤。’言虽近而旨则远矣。”(李文炤《勤训》)“宋代欧阳修则云:‘最佳读书时间,乃为三上:即枕上、马上、厕上。’”(刘真《论读书》)“曾文正公说:‘作人从早起起。’因为这是每人每日所做的第一件。”(梁实秋《早起》)“耶稣说:‘凡去寻找自己生命的人必将失去它’这是生命中的一个吊诡。”(王溢嘉《生命因付出而充实》)“古人说:‘人在画图中’,实在不错。”(吴敬梓《儒林外史.王冕的少年时代》)暗引引用时的话语并没有明白清楚的指出引用内容的来源及出处,而直接将引文编织在自己的文章当中,称为“暗引”。例如:“望子成龙,望女成凤”是天下所有父母共同的心愿。“‘吹面不寒杨柳风’,不错的,像母亲的手...
· 适合初中作文引用古诗词中考作文引用古诗词
适合初中作文引用古诗词中考作文引用古诗词882人参与2019年12月30日14:51分类:诗词名句数字诗一去二三里,烟村四五家。亭台六七座,八九十枝花。咏鹅骆宾王鹅,鹅,鹅,曲项向天歌,白毛浮绿水,红掌拨清波。咏柳贺知章碧玉妆成一树高,万条垂下绿丝绦。不知细叶谁裁出?二月春风似剪刀。登鹳雀楼王之涣白日依山尽,黄河入海流。欲穷千里目,更上一层楼。春晓孟浩然春眠不觉晓,处处闻啼鸟。夜来风雨声,花落知多少?凉州词王翰葡萄美酒夜光杯,欲饮琵琶马上催。醉卧沙场君莫笑,古来征战几人回?敕勒歌北朝民歌敕勒川,阴山下,天似穹庐,笼盖四野。天苍苍,野茫茫,风吹草低见牛羊。芙蓉楼送辛渐王昌龄寒雨连江夜入吴,平明送客楚山孤。洛阳亲友如相问,一片冰心在玉壶。凉州词王之涣黄河远上白云间,一片孤城万仞山。羌笛何须怨杨柳,春风不度玉门关。出塞王昌龄秦时明月汉时关,万里长征人未还。但使龙城飞将在,不教胡马度阴山。鹿柴王维...
· 在会议讲话中怎么引用古诗词讲话中引用的诗词
在会议讲话中怎么引用古诗词讲话中引用的诗词一是借着窗外不时传来的开业鞭炮声,我引用了王安石的“爆竹声中一岁除,春风送暖入屠苏。千门万户瞳瞳日,总把新桃换旧符”,来祝福大家春节快乐,也算拜个晚年。二是借着区领导讲过的执法单位容易“审美疲劳”,我引用了刘希夷的“年年岁岁花相似,岁岁年年人不同”,鼓励同志们攻艰克难,克服厌战情绪。三是借着会议室墙壁上的格言“善养浩然之气”,我引用了刘禹锡的“自古逢秋悲寂寥,我言秋日胜春朝。晴空一鹤排云上,便引诗情到碧霄”。我提醒同志们要有情怀,要有干好本职工作的信心,因为去年很忙,今天更忙,明年特别忙。四是借着前天晚上下了一夜小雨的时机,特别是区领导的重要讲话无疑更是做好这项工作的及时雨,我引用了杜甫的《春夜喜雨》“好雨知时节,当春乃发生。随风潜入夜,润物细无声”,或许正可应景。我知道这样的总结当然与传统会议不太相同,我相信这样的风格也会众说不一,但无论如何这于...
· 求引用古诗或名言的作文开头引用诗词的开头的作文范文
求引用古诗或名言的作文开头引用诗词的开头的作文范文例如:引用是一种常用的写作方法。“运用之妙,在乎一心”,巧妙地运用引用,能使说明文更显生动,能使议论文更见雄辩,能使记叙文更具文采,能使散文更现魅力。1.秋日里,在草堂与杜甫一起仰天长号“八远秋高风怒号,卷我屋上三重茅!”体会诗人背井离乡的心酸和穷困潦倒的无奈。欣赏美国诗人狄金森的:“枫树扎着华丽的丝巾,田野披上艳丽的轻纱,我不愿显得呆板,也佩戴了一枚胸花。”入冬,我手捧着亲爱的书,在火炉准备一杯热茶,就着漫天飞舞的雪花,温习着“忽如一夜春风来,千树万树利花开,散入珠帘湿罗幕,狐衾不暖锦衾薄。”的塞北风光。依偎在窗前,描绘“孤舟蓑笠翁,独钓寒江雪”的苍凉景象……2.“随风潜入夜,润物细无声”,春天,母亲一般的温柔与无私,辛勤地哺育着世间万物;夏季,炎热的季节里,是风,送来了凉爽。阅读风,感受它的温柔与体贴。3.且看那“阁中帝子今何在,槛外长...
· 施耐庵引用苏东坡的“经典佳话”骂和尚裴如海
既然施耐庵都引用了《东坡问答录》上面骂和尚的“经典佳话”,那么姑且信其为苏大才子的真作与真言吧。《水浒》中,当杨雄的结拜兄弟石秀第一次见到他的义嫂潘巧云之时,施耐庵用一段“唱词”细细刻画了潘巧云一番。《水浒传》在成书之前,是说唱艺术的形式,即说书人所讲的故事而已,这是古人消遣和娱乐的重要途径。事情是这样的,在蓟州,杨雄作为外地人被当地恶霸欺负,石秀刚好路过,就为杨雄打抱不平,两人便结拜为兄弟。水浒上的男人,高兴起来都兴这一套,算是一种时尚。杨雄是一个小吏??蓟州监狱的工作人员,兼职做刽子手。当杨雄初识石秀时,他与潘巧云结合才不到一年。杨雄一身好武艺,绝非武大郎那般猥琐不堪,况且工作干得非常突出,他一出场,就是拿着政府的奖励物资,雄赳赳气昂昂地走在大街上,被人围观。杨雄算是蓟州府的一个名人了,做一个合格的丈夫,他应该是绰绰有余的。从各个方面来看,潘巧云的小日子,按说过得是相当滋润的。潘巧云在...

关于我们

关注族谱网 微信公众号,每日及时查看相关推荐,订阅互动等。

APP下载

下载族谱APP 微信公众号,每日及时查看
扫一扫添加客服微信