學習日記之命令模式和Effective C++,日記effective
命令模式(Command): 講一個請求封裝為一個對象,從而使你可用不同的請求對客戶進行參數化,對請求隊列或記錄請求日誌,以及支援可撤銷的操作。
命令模式優點:
(1),它能較容易地設計一個命令隊列。
(2),在需要的情況下,可以較容易地將命令計入日誌。
(3),允許接收請求的一方決定是否要否決請求。
(4),可以容易地實現請求的撤銷和重做。
(5),由於加進新的具體命令類不影響其他的類,因此增加新的具體命令類很容易。
(6),命令模式把請求一個操作的對象與知道怎麼執行一個操作的對象分割開。
(7),敏捷開發告訴我們,不要為代碼添加基於猜測的、實際不需要的功能。如果不清楚一個系統是否需要命令模式,一般就不要著急去實現它,事實上,在需要的時候通過重構實現這個模式並不困難,只有在真正需要如撤銷恢複操作等功能時,把原來的代碼重構為命令模式才有意義。
Effective C++ 之模板和泛型程式設計
1:瞭解隱式介面和編譯器多態
(1),classes 和模板都支援介面 (interfaces)和多態(polymorphism)。
(2),對 classes 而言介面是顯式的(explicit),以函數簽名為中心。多態則是通過 virtual 函數發生於運行期。
(3),對 template 參數而言,介面是隱式的(implicit),奠基於有效運算式。多態則是通過 template 具現化和函數重載解析(function overloading resolution)發生於編譯期。
2:瞭解 typename 的雙重意義
(1),聲明 template 參數時,首碼關鍵字 class 和 typename 可互換。
(2),請使用關鍵字 typename 標識嵌套從屬類型名稱;但不得在 base class lists 或 member initialization list 內以它作為 base class 修飾符。
學習日記
今天同學們特別高興,因為平時一毛不拔的鄧老師竟然要送大家一件禮物,這可是開天闢地頭一回喔!
“會是什麼呢?”“可能是筆……或是……其它什嗎?”老師還沒到,班上早已議論紛紛。“大家好啊!”鄧老師提著一個黑色大口袋走進教室。“老師帶的到底是什嗎?好神秘,好讓人期待哦!”“會是筆記本吧!你看那麼沉。”同學們七嘴八舌的談著。老師這金口還沒開,同學們立刻閉上了“烏鴉嘴”。
教室裡,大家全神貫注地聽著老師講:“同學們,你們想不想這禮物到手啊?”“想!”同學們異口同聲地回答。“想的話就聽從我安排。”“這個嗎?……啊?”還沒等到回覆,老師就滔滔不絕地講起來:“先把生字抄寫一遍,再把閱讀課文的好詞佳句抄寫一遍,每篇課文最少選十個,然後交我檢查!”聽了老師那堅決果斷的命令,個個垂頭喪氣,還是班長腦子轉得快,告訴大家:“快寫啊!寫完就可以收到禮物了,快!”這句話彷彿是一盞明燈,照亮了同學們的心,大家慌慌張張地拿起筆“唰唰唰”地寫起來,教室裡鴉雀無聲。過了十幾分鐘,還沒有一位同學完成任務。終於,有一位“勇士”走上講台,當他向老師要禮物時,老師卻說:“我又沒說做完一個發一個啊!要全部做完才行,回去吧!”這一下他可又傻眼了,唉聲歎氣地回到座位上。
又過了大約十分鐘,許多同學都做完了,大家都焦急萬分。突然,老師又下一道聖旨:“請你們把剛才這種感受寫出來,不就是一篇很好的作文嗎?”“啊?”同學們大呼小叫,有的甚至向老師提出抗議。
老師拍拍那一堆禮物,看了看大家。同學們只好乖乖寫起作文來,教室裡又是一陣“唰唰唰”的聲音,像是春蠶在吃桑葉似的。這下可苦了那些拖拉的同學,又要寫作文,又要寫作業,還不能有半點鐘差錯。大家忙得不可開交。
眼看要下課了,班上大多數同學都順利完成了任務,幾位膽大的同學還悄悄地協助那些“難民”――寫得慢的同學,總算集體完工了。大家吵著要禮物,鄧老師不慌不忙地開啟口袋,眼前的一切讓人目瞪口呆,裡面竟是一本本練習冊!老師笑眯眯地說:“這就是禮物,規定你們在這一星期結束時,做到目前學的這一課。”“啊?……我的媽呀!”同學們差點氣暈過去了。
唉!真是瞎子點燈白費蠟,忙了一半天,竟然收到這樣一份禮物,這真是意料之外啊!
C語言問題
int a=0*FF 這個FF 系統會認為是變數
long a=2L 這個聲明是對的。