→ wtchen: ......我在想要不要把call by ref.這種東西加進置底 09/30 17:14
→ wtchen: 變成第14誡....(沒有call by ref這種東西) 09/30 17:14
诶 真的哦,那應該怎麼敘述還有看過pass by reference
→ wtchen: C是沒有,C++的case好像又不太一樣 09/30 17:16
推 wtchen: 不過這根本文無關,抱歉打擾了 /(_ _)\ 09/30 17:17
→ wtchen: 不過我看不懂你的問題,你是說當你要更改x時 09/30 17:18
我有補充一點了,不好意思沒敘述好
→ wtchen: 要用call by ref還是不要? 09/30 17:19
→ wtchen: (可是你call by value不是根本改不了?) 09/30 17:19
就是如果用方式1的話不是如果陣列太大傳入時會複製會花時間
不考慮能否改的問題~建立在不需要改的假設上
那是不是應該C++開始,任何地方都採用3,加快速度呢省了複製時間
因為這麼看來似乎沒有必要用 1 全部都改成 3 一樣功能速度更快
不曉得還有沒有我沒有考慮到的地方呢
→ pttworld: 前後空白是parser問題,單一主型別變數無法感受威力。 09/30 18:26
什麼意思~可以在多敘述一些麼XDD
感覺好像是答案了
→ 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
→ pttworld: 減少對常見的好奇,資深藝術工程師會對程式碼排版。 10/01 13:11
→ pttworld: 個人理解就是本篇答案。觀念正確前提,讓自己好記憶。 10/01 13:13
推 steve1012: call by reference其實是蠻不精確的講法 10/01 13:57
推 steve1012: 你想講的是全部都採用shallow copy吧 跟python一樣 10/01 13:59
→ steve1012: 其實蠻不方便的 有時候你就是不想要改 卻要一直copy 10/01 14:00
→ steve1012: 講錯 有時候你想要"改" 10/01 14:01
推 Frozenmouse: 指標其實也可以 T * v 前後留白這樣啊XD 10/01 15:50
不過我還真沒看過有人這麼寫的QQ
我在爬下標的時候卻看到不止一次 & 這樣子的寫法
就上來問問惹
※ 編輯: hunandy14 (118.171.8.192), 10/01/2016 16:07:15
→ ilms49898723: 事實上就是一樣,就像你不會問func()跟func () 10/01 17:44
→ ilms49898723: 你初學時應該學過除了特別情況(如include)根本不會 10/01 17:45
→ ilms49898723: 管你打幾格空格 10/01 17:46
→ ilms49898723: 另外個人習慣一次只宣告一個變數,然後都要給初始值 10/01 17:47
→ ilms49898723: 所以我也好久沒寫過 int *a, b; 這種東西了XD 10/01 17:47
※ 編輯: hunandy14 (118.171.8.192), 10/01/2016 18:03:03
推 Frozenmouse: 講到最後都是宗教戰爭了(x 10/01 18:05
我是還好啦XDD 以為有什麼標準要這樣做
第二個問題都沒人回惹QQ
※ 編輯: hunandy14 (175.96.81.211), 10/01/2016 19:27:16