[問題] & 為何前後空白與該完全取代ca by value麼
把所有的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://www.ptt.cc/bbs/C_and_CPP/M.1475225771.A.937.html
※ 編輯: hunandy14 (36.238.116.205), 09/30/2016 16:59:16
→
09/30 17:14, , 1F
09/30 17:14, 1F
→
09/30 17:14, , 2F
09/30 17:14, 2F
诶 真的哦,那應該怎麼敘述還有看過pass by reference
→
09/30 17:16, , 3F
09/30 17:16, 3F
推
09/30 17:17, , 4F
09/30 17:17, 4F
→
09/30 17:18, , 5F
09/30 17:18, 5F
我有補充一點了,不好意思沒敘述好
→
09/30 17:19, , 6F
09/30 17:19, 6F
→
09/30 17:19, , 7F
09/30 17:19, 7F
就是如果用方式1的話不是如果陣列太大傳入時會複製會花時間
不考慮能否改的問題~建立在不需要改的假設上
那是不是應該C++開始,任何地方都採用3,加快速度呢省了複製時間
因為這麼看來似乎沒有必要用 1 全部都改成 3 一樣功能速度更快
不曉得還有沒有我沒有考慮到的地方呢
→
09/30 18:26, , 8F
09/30 18:26, 8F
什麼意思~可以在多敘述一些麼XDD
感覺好像是答案了
→
09/30 19:45, , 9F
09/30 19:45, 9F
對呀,執行起來無感,感到好奇
指標只會出現
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
→
10/01 13:11, , 10F
10/01 13:11, 10F
→
10/01 13:13, , 11F
10/01 13:13, 11F
推
10/01 13:57, , 12F
10/01 13:57, 12F
推
10/01 13:59, , 13F
10/01 13:59, 13F
→
10/01 14:00, , 14F
10/01 14:00, 14F
→
10/01 14:01, , 15F
10/01 14:01, 15F
推
10/01 15:50, , 16F
10/01 15:50, 16F
不過我還真沒看過有人這麼寫的QQ
我在爬下標的時候卻看到不止一次 & 這樣子的寫法
就上來問問惹
※ 編輯: hunandy14 (118.171.8.192), 10/01/2016 16:07:15
→
10/01 17:44, , 17F
10/01 17:44, 17F
→
10/01 17:45, , 18F
10/01 17:45, 18F
→
10/01 17:46, , 19F
10/01 17:46, 19F
→
10/01 17:47, , 20F
10/01 17:47, 20F
→
10/01 17:47, , 21F
10/01 17:47, 21F
※ 編輯: hunandy14 (118.171.8.192), 10/01/2016 18:03:03
推
10/01 18:05, , 22F
10/01 18:05, 22F
我是還好啦XDD 以為有什麼標準要這樣做
第二個問題都沒人回惹QQ
※ 編輯: hunandy14 (175.96.81.211), 10/01/2016 19:27:16