2009年11月11日 星期三

c++ self testing

在網路上看到的幾個c++問題,個人覺得有一些還有點難,不過多懂點總是好的。

1. 什麼是virtual inheritance? 請舉例說明。
2. 什麼是virtual function? 什麼是pure virtual function?
3. pointer與reference的差別?
4. 什麼是static_cast, dynamic_cast, reinterpret_cast, const_cast? 他們之間的差異是?
5. run-time polymorphism與compile-time polymorphism的差異? 分別要如何達成?
6. 什麼是explicit constructor?
7. 什麼是template disambiguator? 請舉出例子。
8. 有沒有聽過boost or loki? 有沒有用過boost or loki? 請舉出例子。
9. 有沒有聽過CRTP (Curiously Recurring Template Pattern)與PBCP (Parametric Base Class Pattern)? 請寫出兩者的sample code並比較它們的差異。
10. 請問在C++中, struct與class最大的差異是?
11. 請問什麼是template partial specialization?
12. 什麼是type traits? 什麼是tag dispatch? 請以簡單的程式碼說明之。
13. 有聽過template metaprogramming嗎? 請舉例解釋之。
14. 什麼是SFINAE? 請解釋之。
15. 為什麼常常看到template的程式碼寫在hpp裡,而不是放在cpp檔中?
16. 什麼是functor? 用過(或寫過)任何的functor library嗎? 例如boost function/bind或是fast delegate?
17. std::list與std::vector的差異是什麼? std::map裡的資料結構是如何實作的?
18. 何謂copy constructor? 如何阻止一個class被copy?
19. virtual function是如何實作的? 什麼是vtbl?
20. 在template的宣告裡,typename與class的差異是? 為什麼有typename這個keyword?
21. 什麼是forward declaration?
22. 如何解決header file mutual inclusion的問題?
23. 什麼是templated class? 什麼是class template?
24. 什麼是wchar_t? 有沒有用過std::locale跟std::codecvt?
25. 用過那些c++ compiler? 有沒有聽過c++0x? 試舉出c++0x的新功能。

2009年11月8日 星期日

看完韓劇貝多芬病毒了

其實我是到最近電視又在重播時才看到,以前聽過有這個電視但是因為是韓劇,我心裡有刻版印象,不怎麼喜歡韓劇,所以沒想要看。但這次看到重播時,不知怎的,竟然想看看好了,現在回想那時開始看的時候可能是太閒了。

貝多芬病毒讓我第一個連想到的是日劇的交響情人夢。同樣是以古典音樂為連接劇情的要素,略有不同的是交響情人夢的角色群是一群將畢業的音樂系學生,而貝多芬病毒是一群業餘的音樂愛好者。

前半還不錯,劇情在大家的音樂路上打轉,也為後面的劇情鋪陳,但是過了前半之後劇情的重心開始轉向韓劇經典的三角戀和人生重變上,這我就開始有點看不下去,因為開始變成愛情劇,音樂的劇情變成是連接事件的跑龍套,讓我滿失望的。我一邊看一邊開始想到之前陪老婆看的另一個韓劇"On Air",裡面描述的連續劇製作方式要每天看每個分鐘的收視率來決定後面的劇情要怎麼修改(或是說由收視率而產生的改劇情壓力),還要因應不同的主角受歡迎的程度改劇情,讓收視好的人出現多一點,收視率才能高一點,那劇情怎麼辦呢?只好叫編劇去坳囉。這就像我們常聽到的台灣本士劇的拍法,從一開始的劇情主題到後面都不一樣,中間可能還換了好幾個不同的主題,還能對時間快速做出回應。如果劇情是一篇文章,應該會被國文老師從窗戶丟出去吧。我嚴重懷疑貝多芬病毒也是這樣拍的。拍到後面發現還是要回到三角戀啊,得什麼重病、生父大逆轉啊這種灑狗血收視率才會好。所以後半部分我有點看不下去。到後面的音樂成分都快變成只是角色設定,連串場龍套都稱不上了。所以說,雖然我無法確定他是看收視率而改劇本變成狗血劇還是鋪陳的比較好的狗血劇,對我來說都差不多了。話又說回來,如果一開始就是要做狗血劇還能讓前半部保持不灑狗血的劇本應該也不多吧。都決定要灑狗血還有什麼好客氣的。

和交響情人夢比起來,交響情人夢很清楚的刻畫音樂系學生的徬徨和憂心。不過本質上來說交響情人夢的原著是少女漫畫,重點不在於深入的刻畫或真實的呈現,但是搞笑的方式也表達到了一部分苦澀的現實。

貝多芬病毒也試圖表達學音樂的人在現實生活和在對音樂的熱情的衝突。像劇中戲份也滿多的一個double base手,在太太很支持他的音樂熱情下,他還是要為了現實生活降低對音樂的投入。還有一個這應該就是拉cello的大嬸,以前先生就是愛看他拉cello,但在婚後為了家庭,一直壓抑自己,包括對音樂的夢想。這大概就是交響情人夢的角色再過十年後的劇情了吧。

整個劇情中最能打動我的一句話就是女主角說"為什麼有人這麼有才華卻二十幾年都沒感覺,有的人這麼的有熱情卻沒有才華"(大意如此,記不得原台詞)。這不只可用在音樂上,簡直就道盡了人生的苦楚。很清楚的知道自己的夢想自己的熱情是自己所無法達成的,認清事實那瞬間的心碎真是無法形容。

所以像我這種隨便玩玩隨便合奏就能得到快樂的人,應該也是一種幸福吧。

整體而言,我覺得前半比後半好看,金明敏演的毒舌指揮家演的很不錯,很多小地方都能表達出那種感覺。所以真正的結論是,李智雅很正。:D