練武不練功,到老一場空,
練功不練武, 十年白辛苦!
很多學習C++的朋友,也許有這樣一種想法:我辛苦學習了厚厚的一本C++教科書,怎么感覺程序還是什么也不會寫?
原因不外有二:
- 對 C++ 只是懂了語法,真正含義仍然理解不夠,很多語法知識點,僅是知其然,而不知其所以然。總之,基本功還是不夠。
- 更有可能的是,光光學了C++的功,沒有學習C++的武,所以,就像一位武林高人,看上去"內力"很深厚,但手上一點招勢不會。
學習C++編程,就得弄清C++的"武"和"功"各是什么。
功 -- C++語言 (語法、設計),這方面不細說了,這是基本功。
表達式,運行符,語句 ,流程,函數,傳參,引用,指針,對象,派生,虛函數,友員等等。
武 -- C++實用庫大全:
- STL???容器類算法,幫助你迅速跳過常用算法及數據庫的檻。
- GUI???比如跨平臺的wxWidgets,學習C++,你總不會只想寫那種DOS/控制臺界面吧?總會永遠只寫類似?
????????????cin << "Hello world!" << endl;
這樣的項目吧?如何寫帶窗口的程序?并且學會在Windows寫,就同時也要學會 在Linux下,UNIX下寫?當然需要學會一套C++的跨平臺的GUI庫,才能說你會C++編程了。
- boost -- 也不多說了。不用boost,出門真不好意思說自己會C++。類似線程之類很實際功能,在這里有很好的支持。
- XML 解析 --- 到處都需要,可是和thread一樣,沒看到標準庫有只言片語???
- 數據庫 --- 商業程序幾乎離不開數據庫操作。