看板 C_and_CPP 關於我們 聯絡資訊
大家都知道C++有 call by adress, call by value, call by reference 其實call by adress也是種call by value 所以若函式中改了 adress,在單指標情況下,主程式是不知到adress已被改動的 那請問到底什麼是call by reference 似乎也不是把記憶體位置copy到函式中啊 當然更不是函式展開     那請問C++ complier是怎實做call by reference的呢  謝謝    -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.72.139
zlw:參考 #19eem3G_ (C_and_CPP) 15581篇,簡單說是原變數的別名 06/21 16:33
gozha:我想問 #define f(x, y){} ← 這是叫做 call by name 嗎@@? 06/21 16:37
zlw:另外,如果你用VC參考我之前extern那篇,傳指標跟傳參考在傳送 06/21 16:41
zlw:時假設傳int x; foo(x)跟foo(&x)都是用 lea eax,[x] push eax 06/21 16:41
VictorTom:小弟我只想說, 不要再講什麼Call by Address了.... 06/21 19:38
VictorTom:CbA根本不是正式說法, 而且實際一說它是CbV, 一說是CbR 06/21 19:39
VictorTom:亂的要死, 把CbV與CbR給搞清楚弄明白, 也把傳pointer變 06/21 19:39
VictorTom:數這件事搞清楚, 就不會再被CbA等給混淆謎惑了@_@" 06/21 19:40
stonehomelaa:Call by Address是台灣人自創,老外不這麼講的 06/21 23:10
cole945:其實 O'reilly的practical C++ Programming一書中, 也用 06/21 23:33
cole945:了call by address這個術語描術像function(int *var)這種 06/21 23:33
cole945:東西.__." 所以不太算台灣人自創的吧囧? 06/21 23:34