起因是Evans在接手我的專案的時候,因為在視窗的Resize那邊,要變化視窗上太多元件位置大小,我又用土法煉鋼,一個元件一個元件去GetWindowRect,設定參數,MoveWindow設定,這樣元件一多維護起來就會很麻煩,其實做的是差不多的動作而已。他就想說,雖然我視窗元件很多都是跟著一個對齊框的元件,其實也是可以寫成相對於主視窗,這樣所有視窗上的元件,都簡化成只需要「windows (cx, cy), offset (top, bottom, left, right)」這些參數就好,template剛好派上用場。
那來看看最簡單的template怎麼用:
template <class T> void swapTwo(T& x,T& y) { T temp(x); x=y; y=temp; }
上面例子說明這是兩個東西交換對調,使用上很簡單,只要呼叫swapTwo(a,b)就好了,任何型態都可以,方便好用。但是要注意兩者不同型態不能丟進去,比方說不能丟個文字和數字對調,其他基本資料型態,如果不管可能會丟資料,倒是不會出現error,最好還是同型態啦。
0 意見:
張貼留言