作者ricky906 (boy)
站內Programming
標題Re: [推廣]Ultimate++ - Free C++ GUI Framework
時間Sat Jul 29 12:26:50 2006
※ 引述《PwiPwiWorm (Valley of shadow)》之銘言:
: : 如果 C++ 像 java 一樣有個 root class (i.e java.lang.Object), RTTI 會簡單很多.
: : 沒有這種 construct, RTTI 只能靠 macro 變出來, 會髒到不行. (MFC 就這樣搞的)
: : 不然就得改 C++ 語法, 這麼一來很多 C++ compiler 就不支援 wx 了.
: : (用 "root class" 怪怪的, 有什麼 term 可以用嗎? 很久沒碰 Programming Language 了)
: : generic type (在 C++ 來說就是 template 啦) 有其方便性,
: : 但一般來說, 有了 RTTI 和 root class 後, template 就可以拿掉了,
: : 就算有, 也只是 syntax sugar, 這就是 java 沒有 template 但卻沒什麼人抗議的原因.
: : (well, 不過 "建議" 要有 generic type 的人 應該是不少,
: : Java 1.5 已經把 generic type 加到 java 的語法裡了.
: : 雖然沒有沒關係, 但有了大家都很高興, 這就叫 syntax "sugar" :P)
: : 在沒有 RTTI 和 root class 時, template 就像是 syntax level 的 macro,
: : 如果你反對大量的 macro, 那大概也不怎麼喜歡 C++ 的 template 吧.
: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
: 或許原波忽略了template和metaprogramming所帶大的影響,
: 連design pattern都為之而變,另外還有type trait、type list、
: 甚至整個boost的MPL的出生...,以前許多做不到的事情,現在都可以輕易完成
: 如果把template和macro等值視之,很多C++的大老都會嘆氣吧
: (我想這大概是yoco大大看了以後"...."的原因)
請問原po讀過 Modern C++ Design嗎 (沒有特別意思)
我覺得第1章應該有所幫助
template的引入,應該是設計思維上的衝擊
大過於 成為進階本的macro
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.135.40.166
推 march20:確實沒讀過 ^^; 71.137.21.30 07/29 12:28
推 march20:這樣說確實很有道理, 受教了 :) 71.137.21.30 07/29 12:28