精華區beta CSSE 關於我們 聯絡資訊
※ 引述《reader (讀者)》之銘言: : a.g(b); // 執行 A::f() 還是 f() ?? : -- : 推 Eventis:執行的應該是f()吧@@ 61.62.49.43 02/21 : → Eventis:不是已經將function pointor傳進去了嗎@@? 61.62.49.43 02/21 執行是 A::f() 才合乎 first-order function, 這正是它奧妙的地方。 如果只是 function pointer 就簡單太多了。 傳統的編譯程式是做不到的。你可以想像它是「執行時期的巨集函數」。 有這個東西,就不需要醜陋的 iterator 了。用 iterator 不見得一定 比較快,但是程式碼變醜太多了。 試想如果巨集語言、描述語言和程式語言,都是完全一樣的語法,完全 互通,那麼,顯然程式設計將會變得很不一樣。 -- 現在 C++ 不過是把巨集語言合併到程式語言當中 (template),一堆人 就在那邊大呼小叫說是什麼革命性發展的,弄個什麼泛型化程式設計就 覺得世界被改變了,實在是眼光太過短淺。那叫「本來就應該這樣」。 有太多東西該做了,例如內建的網路功能,使這樣的程式語言將可以在 網路上互通,程式碼可以在機器之間移動複製和定址,分散式運算可以 完全平順自然地達成。至於多執行緒更是最最基本的。這樣才起碼像是 一個二十一世紀的程式語言。 -- 這也是我對於 C++ 後來搞了一些無關緊要的動態功能,如此憤怒,以致 從此就再也不跟隨主流 C++ 發展的原因,方向根本就不對,後來發展的 東西更是一個比一個醜... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.222.173.26
Eventis:我還真的把它當C++看了...OTZ 61.62.49.43 02/21