Re: [問題] swap兩個元素的方法

看板C_and_CPP作者 (好人超)時間15年前 (2010/04/27 07:46), 編輯推噓3(305)
留言8則, 6人參與, 最新討論串2/4 (看更多)
※ 引述《nana0130 (小那)》之銘言: void swap(int a, int b) //交換a跟b指向位置的值 { int temp; temp = a; a = b; b = temp; } int main() { int i = 5, j = 10; swap(i, j); } 在這個例子裡, main 裡面的 i, j 與 swap 裡面的 a, b a 是 i 的複製品,b 是 j 的複製品 因此你交換 a, b 對 i, j 是毫無影響的 (你改變了影印稿上面的資料,會期望正本的資料也跟著改變嗎 XD) 至於為什麼用 swap(int *i, int *j) 或 swap(int &i, int &j) 就會成功 如果有疑惑的話,請參考書本上或者網路上關於 pointer 與 reference 的說明 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.117.171.46

04/27 18:24, , 1F
Call by value 跟 Call by address 的差別
04/27 18:24, 1F

04/27 19:35, , 2F
沒有 call by address 啦,call by reference
04/27 19:35, 2F

04/27 19:42, , 3F
我這篇文完全沒提到名詞 就是因為一提下去就很亂...XDDD
04/27 19:42, 3F

04/27 19:59, , 4F
聽說..提到名詞有吵架的可能性
04/27 19:59, 4F

04/27 20:01, , 5F
其實明確的定義Programing Language的書應該都有吧@_@"
04/27 20:01, 5F

04/27 20:02, , 6F
不過每個人的想法畢竟不同 講下去頭就很暈了
04/27 20:02, 6F

04/27 23:40, , 7F
我們compiler老師也會講call by address...
04/27 23:40, 7F

04/27 23:40, , 8F
老實說比起名字 底下到底是在幹麻還比較重要
04/27 23:40, 8F
文章代碼(AID): #1BrfPm3- (C_and_CPP)
文章代碼(AID): #1BrfPm3- (C_and_CPP)