精華區beta Programming 關於我們 聯絡資訊
※ 引述《march20 ()》之銘言: : ※ 引述《godfat (godfat 真常)》之銘言: : : RTTI 怎麼有辦法用 macro 變出來? : : macro 單純是文字取代,不可能獲得執行期資訊 : MFC 的 RTTI (呃, 也只是那群 C 開頭那群 class 才有, 不是全部的 class 都有) : 其實是 macro + virtual function 變成的. : (依稀記得有什麼 DELCARE_blah blah 之類的巨集 ..) : 其實說來跟 java 也沒差太多, 只是 java RTTI 是 syntax + libraray 達成, : 然後全部的 class 都能拿到 RTTI 資訊 : (其實連 primitive type 都可以, java 的reflection 功能真是強大!) 不知道為何 march 把 java 的 reflection 和 MFC 相提並論,不過以我感覺上兩者應 該是相當不同的。其實以我的感覺,java 的 reflection 和 classpath 組成是重要的 特性,這使得 java 在開發程式的節奏和 C/C++ 完全不同,而這些特性主要的重點也來 自於 java 天生的動態性,配合上 java vm 的跨平台,讓 java 變成商用系統和流行的 網頁程式的主統語言, C/C++ 在這些領域則是明顯的退敗。以我的看法,C/C++ 追求的 是靜態的靈活性,而 java 則是動態的靈活性。(這當然都是相對而言,C/C++配合OS支援 也可以有動態性,但和 java 的語言層次當然就差了一截。) BTW, 雖然說 template 把 C++ 的靈活性再向上推了一層,但老實說在現實情況我還是覺 得少用為妙,畢竟了解的人少,出問題的機率相對提高,而如果多人共同開發的話,要維 護一個 template 高手的程式一定讓我頭大的。我想除了是用一些久經使用的 template library 像是 iostream/stl/boost 等,最好還是不要大量使用 template 。 當然如果有強大的開發團隊的話,當然要怎樣就可以怎樣囉:) -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.62.106.24
march20:這個, 學不到家, 繆誤之處就多海涵吧@@ 71.137.21.30 07/31 08:52
march20:我對這東西認識有限, 我也問錯了問題 71.137.21.30 07/31 09:01
march20:我應該問"template 對 GUI design 之必要" 71.137.21.30 07/31 09:01
march20:啊, 連 "謬" 都打錯了 @@ 71.137.21.30 07/31 09:06