java 板


LINE

※ 引述《windincloud (云淡风轻)》之铭言: : 好奇~ 有always吗? : 只是预设为call by value吧~ : 写程式时也可以用referance~ : 原句应该改usually较好吧~ Java 真的只有 call by value 以下转录一篇以前写的文章 --- 不管是在 C++ 还是 JAVA,时常会出现 reference 这个名词,特性与 pointer 有些类似,那其中的 差别到底在哪呢? 其一是安全性。pointer 可以用加减法指向其他记 忆体位址(例如 *(pa+1) ),而在 reference 中这 是不被允许的。另外像是型别检查,pointer 无法 动态的检查所指向的位址是否为对应的型态,同样 的,在reference 中,这类问题也不会发生。 其二就是易用性。使用 reference 较 pointer 来 得直觉且方便,不需要加上繁杂的指标运算子。 而在实做上,其实 reference 骨子里仍然是透过 pointer 达成目的,只是 compiler 将它包装起来 ,让使用者看起来似乎是直接操作物件。 接下来是两个迷思,为什麽有人说 "java 没有 pass by reference" 以及 "c++ 没有 pass by address (pointer)"? 其实这两者是相同的问题。 在 java 中,所有的物件变数都是 reference,而 在传递物件时,其实只是将 reference 所指向的 位址,复制到 formal parameter。所以对变数本 身而言,其实这只是 pass by value 而已。 同样的,在 c++ 中传递 pointer 时,对於指标本 身,也只是将位址复制给 formal parameter 罢了。 不过对於这两句话,我个人却有一点不同的看法。 对於变数本身来说,确实只是 pass by value,但 是之所以传递 reference 或着 pointer,目的也 都是为了操作物件。而以物件的角度来看,这样传 递参数的方式,确实是符合 pass by reference 或着 pass by address 的特性。所以个人认为, 不太需要拘泥於 "没有 pass by address" 这种说 词。 --- 有错请指正 --



※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 220.131.68.145







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:WOW站内搜寻

TOP