作者PwiPwiWorm (Valley of shadow)
看板Programming
標題Re: [推廣]Ultimate++ - Free C++ GUI Framework
時間Sat Jul 29 11:07:17 2006
: 如果 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大大看了以後"...."的原因)
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 219.84.151.57
推 march20:yeah , you're right, 但 pattern 不一定 71.137.21.30 07/29 12:10
推 march20:只有 C++ 的 template 可以辦到喔 71.137.21.30 07/29 12:10
推 march20:也許是我比較愛 java 的 style :P 71.137.21.30 07/29 12:11
推 march20:pure OO 可以做到 template 的不少功能 71.137.21.30 07/29 12:12
推 march20:C++ 的 template 是有不少好用的地方, 71.137.21.30 07/29 12:14
推 march20:但如果 C++ 夠 pure OO 的話, 我會儘量少 71.137.21.30 07/29 12:15
推 march20:用 template (但就是沒有 囧) 71.137.21.30 07/29 12:15
推 march20:啊, 對了, 我沒說 macro=template, 71.137.21.30 07/29 13:02
推 march20:引喻不當造成誤解, 真是囧 71.137.21.30 07/29 13:03
推 qrtt1:haha. 您要不要去接java版壓.XD 210.59.94.179 07/29 13:36
推 march20:你來當版主我就去 (聊起來了 ^^;) 71.137.21.30 07/29 14:45
推 qrtt1:我只想當您的鄉民啊xd 210.59.94.179 07/29 16:36
推 cplusplus:當然手動打造都OK呀 但是性質太多相似的 61.229.42.95 07/30 13:53
→ cplusplus:手工會打到死的 C#跟JAVA都會這樣~ 61.229.42.95 07/30 13:53
→ cplusplus:有時候一種PATTERN可能伴隨多種特性 61.229.42.95 07/30 13:54
→ cplusplus:排列組合起來,那真的會瘋掉啊... 61.229.42.95 07/30 13:54