天天看點

C++泛型程式設計

前段時間用C#做項目開發,感覺到不錯,泛型的确好的很,我在項目中大肆的使用.這個月做C++開發,沒有原來那麼爽了,本來以前是不怎麼欣賞C#的,唯獨鐘情于C++,可用了C#後,再用起C++,感覺C++還真是繁瑣,雖然語言隻是工具,但開發效率仍是問題.各種語言各有千秋了.現在星期天了,也來研究下C++的泛型程式設計了,以供以後用了

泛型就是為了代碼能夠更好的複用,是以一般的小項目,基本用不到的,大的項目用着會很爽的,我目前的項目中如果用純屬是練手,那麼小的項目,呵呵

記得很多介紹泛型程式設計的例子都是以數字相加為例的,如下代碼所示:

template  < class  T >

T jj(T num1, T num2)

{

     return  num1 + num2;

}

雖然這個能夠解決那些問題,可是現實中我們很少會采用一種類型的數字相加的,數字類型有整型、浮點、雙精度的,其實這個例子重在引人入門,卻并沒有吸引力

我把代碼稍改下就有點吸引力了

template  < class  T1, class  T2 >

float  jj(T1 num1, T2 num2)

{

     return  ( float )num1 + ( float )num2;

}

這就可以實作不同類型的數字相加了,當然了如果嫌不夠的話,可以把float改為double

C#中談設計模式談的很火,工廠之類的東西也多,C++在網上找這部分資料就不好找了,C++本來人少,高手更少,而高手又都忙,是以網上的文章不多,然高手在做軟體設計時的确也是按照這樣來的,其實軟體設計模式真的很好,有設計的比沒實際的好多了,公司裡給我多小的項目,我都拿來分析下,一來可以練手,而來的确對後期的開發有所幫助,像我所在的小公司,開發意圖完全靠老闆的想法。想起什麼東西就會讓你搞什麼,我經常問主管,哪個子產品要不要,該不該做,最終效果怎麼樣,主管總是說,你先做上吧,老闆看看再說,我都要吐血了。老闆以為開發軟體就是擺積木呀,想擺就擺,想拆就拆呀!

面對這樣的環境,我就總是先設計下,看看有什麼遺漏,想想日後老本可能會要求怎麼樣,然後慢慢編碼(本來應該快速,可惜money不多)讓老闆看效果,改的時候,也有文檔可惜,改起來雖然累點,也不至于吐血。

當然這樣的環境應該換換,可恨得是現在有很多事情不允許我換,而且我也剛工作沒多久,至少先在這做一段時間吧。

轉載于:https://www.cnblogs.com/20090802/archive/2009/12/12/1622425.html