C_and_CPP 板


LINE

把所有的Call by value 都改成 Call by reference 是比较好的做法吗? 应该理所当然的把全部都这麽做麽 原本是这样 int fun(int x); > 这不适合导入超大的阵列 如果直接改 int fun(int &x); > 又怕改到数值 加个const int fun(const int &x); > 好像同时兼具所有优点? 於是我就想说,那是不是C++11开始 引述数里面都不应该出现call by value 这样的想法是否有考虑不周的地方呢 ==================================================== google的话又不晓得该下什麽关键字QuQ 有我观察到呀为什麽 Call by reference 的 & 位置是前後空白 重载下标符号 [] https://goo.gl/jcgURm 比如说 int & operator[]( int ); 最初我以为可能是打错之类的 结果却一直有看到类似的打法 这是有什麽原因吗~ 实际测试 & 要黏在前面 或後面好像没什麽影响 或是真的只是看人习惯怎麽打就怎麽打呢QQ --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 36.238.116.205
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_and_CPP/M.1475225771.A.937.html ※ 编辑: hunandy14 (36.238.116.205), 09/30/2016 16:59:16
1F:→ wtchen: ......我在想要不要把call by ref.这种东西加进置底 09/30 17:14
2F:→ wtchen: 变成第14诫....(没有call by ref这种东西) 09/30 17:14
诶 真的哦,那应该怎麽叙述还有看过pass by reference
3F:→ wtchen: C是没有,C++的case好像又不太一样 09/30 17:16
4F:推 wtchen: 不过这根本文无关,抱歉打扰了 /(_ _)\ 09/30 17:17
5F:→ wtchen: 不过我看不懂你的问题,你是说当你要更改x时 09/30 17:18
我有补充一点了,不好意思没叙述好
6F:→ wtchen: 要用call by ref还是不要? 09/30 17:19
7F:→ wtchen: (可是你call by value不是根本改不了?) 09/30 17:19
就是如果用方式1的话不是如果阵列太大传入时会复制会花时间 不考虑能否改的问题~建立在不需要改的假设上 那是不是应该C++开始,任何地方都采用3,加快速度呢省了复制时间 因为这麽看来似乎没有必要用 1 全部都改成 3 一样功能速度更快 不晓得还有没有我没有考虑到的地方呢
8F:→ pttworld: 前後空白是parser问题,单一主型别变数无法感受威力。 09/30 18:26
什麽意思~可以在多叙述一些麽XDD 感觉好像是答案了
9F:→ james732: int& x; int & x; int &x; 好像都一样? 09/30 19:45
对呀,执行起来无感,感到好奇 指标只会出现 int *i; int* i; 个人对这个的理解是 单一变数尽量让*黏在前面 这样可以很明显辨别~ int 与 int* 两种型态 多变数的时候 int* i, j; 那个j可没有带到星号於是 int *i, *j; 才更容易叙述 可是他出现了 int & i; 而且还不是太少见的,觉得好奇 ※ 编辑: hunandy14 (118.171.8.192), 10/01/2016 12:38:18
10F:→ pttworld: 减少对常见的好奇,资深艺术工程师会对程式码排版。 10/01 13:11
11F:→ pttworld: 个人理解就是本篇答案。观念正确前提,让自己好记忆。 10/01 13:13
12F:推 steve1012: call by reference其实是蛮不精确的讲法 10/01 13:57
13F:推 steve1012: 你想讲的是全部都采用shallow copy吧 跟python一样 10/01 13:59
14F:→ steve1012: 其实蛮不方便的 有时候你就是不想要改 却要一直copy 10/01 14:00
15F:→ steve1012: 讲错 有时候你想要"改" 10/01 14:01
16F:推 Frozenmouse: 指标其实也可以 T * v 前後留白这样啊XD 10/01 15:50
不过我还真没看过有人这麽写的QQ 我在爬下标的时候却看到不止一次 & 这样子的写法 就上来问问惹 ※ 编辑: hunandy14 (118.171.8.192), 10/01/2016 16:07:15
17F:→ ilms49898723: 事实上就是一样,就像你不会问func()跟func () 10/01 17:44
18F:→ ilms49898723: 你初学时应该学过除了特别情况(如include)根本不会 10/01 17:45
19F:→ ilms49898723: 管你打几格空格 10/01 17:46
20F:→ ilms49898723: 另外个人习惯一次只宣告一个变数,然後都要给初始值 10/01 17:47
21F:→ ilms49898723: 所以我也好久没写过 int *a, b; 这种东西了XD 10/01 17:47
※ 编辑: hunandy14 (118.171.8.192), 10/01/2016 18:03:03
22F:推 Frozenmouse: 讲到最後都是宗教战争了(x 10/01 18:05
我是还好啦XDD 以为有什麽标准要这样做 第二个问题都没人回惹QQ ※ 编辑: hunandy14 (175.96.81.211), 10/01/2016 19:27:16







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