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/m.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燈, 水草

請輸入看板名稱,例如:iOS站內搜尋

TOP