星期日, 7月 30, 2006

看完

昨天躺在床上,心生無聊,就把有趣的"泛型程式設計與STL"看完了一次,現在對STL總算有一個初步的認識了..我對bind1st, bind2nd, compose感到神奇,但是我看到更讓我覺得神奇的東西Member Function Adaptors


在p.403有以下的敘述
所謂的member function adaptors是一群小型的classes,讓你能夠獎member functions 當做function objbects來呼叫。每一個adaptor需要一個型別為X*或X&的引數,可透過該引數呼叫X的一個member function,如果那是一個virtual member function,那麼便是一個多型的函式呼叫(polymorphic function call)。因此,member function adaptors 是物件導向程式和泛型程式設計之間的橋樑

那麼事實上,Member Function Adapptor是一個轉換器(這句話是廢話,因為這就是adaptor要做的事),但是可以利用polymorphism性質來做一個轉換,以達到更大的彈性,這也是有一個神奇又有趣的東西,哈

那麼為什麼不能直接使用class member function,我猜的理由是,function pointerclass member function pointer是不一樣的,也就是說,無法那麼順利的當argument(看來我的講述功力真差..Orz)

看完不代表會用,所以接近開學的時候,我會再把這本書翻一次吧,開學後就可以開始使用STL來試著開發了,速度慢,但是總比沒開始的好
---
睡前還看不懂的,睡一覺就了解在幹麻了,真是神奇

張貼留言