1. 程式人生 > >C++ primer 5th 讀完的一點心得體會

C++ primer 5th 讀完的一點心得體會

作為一個通訊的研究生,其實我對自己所從事的方向還是有很多迷茫的。本科的時候參加過很多比賽,搞過微控制器、ARM嵌入式,做過訊號處理,學過matlab,學過C、C++,但是始終覺得自己浮於表面,並沒有一種深入的感覺。好比我做了一個四旋翼飛行器,我知道它的控制原理,我花足夠多的時間也能看明白它裡面的每一個函式,我也可以對這個開源的飛控做適當的修改,但是也就僅此而已了,如果讓我自己從無到有的搭建這樣一個龐大的專案,我的語言基礎、理論基礎,不能支撐我做到這樣的程度。

在網上看了很多資料,再加上一位學姐的指點,我覺得,也許應該讓自己沉澱一些東西下來,看看書充充電,是最好的選擇,以彌補自己基礎上的缺陷。所以,我也想奉勸各位本科的同學,經常參加競賽或者比賽是有好處的,但是,千萬不能忽視語言的學習,做過再多專案,如果沒有基礎理論支撐,是很浮於表面的。

我必須承認,後面第四部分我看的有點草率,因為很明顯的感覺後面的實用性不如前面三部分高,後面二刷三刷的時候再繼續精讀。

好了,談談我讀完一遍的感想。

1. C++在我的理解範圍內幾乎是全能的語言,它是C語言的補充,保留了C很多面向過程的特點,但是它也讓C語言的缺點暴露無疑。相比C++,C程式設計的可重複利用性不高,尤其缺乏模板和過載,顯然不夠靈活。但是C的效率很高,如果使用

2. C++面向模板程式設計,這是我最深的感受之一,越看到後面越發有這個感覺,這個設計思想幾乎貫穿C++的每一個語言特性,函式過載、模板函式、模板類、過載運算子,讓我感覺一切皆可是模板、一切皆可過載,將你編寫的程式碼的效率最大化。

3. 面向物件程式設計,類的繼承、封裝以及多型,但是和麵向模板有一些聯絡,基類似乎某種意義上也是派生類的模板,或者是例項化的類的通用模板,通過這樣的思維方式,把生活中面對的具體的問題,抽象成可以利用特定資料結構來表示的抽象資料,給我啟發很大,以前本科時,學習C++的時候,也有過了解,但是,一來,沒有深入接觸到運算子過載以及類的拷貝控制等部分,淺嘗輒止,二來,沒有進行大量訓練;所以這次看完書,感覺收穫很大,接觸到了實實在在的可以指導自己的寫程式碼的法則與事例。

4. 面向stl程式設計,standard template library即標準模板庫,包含容器、演算法等模組,是學習C++的重點,不過個人覺得,學習掌握的難度並不大,但是要了解其實現過程,閱讀其原始碼應該是之後的學習方向。C語言3個庫,其餘十幾個為C++獨有的模板庫,是C++的重要組成部分。

總結:C++是一個很強大的工具,直面實體記憶體,又不失高階語言的設計思想,但是通讀下來,C++的學習難度也不容小覷。未來,我打算進一步學習資料結構與演算法C++描述,進一步深入瞭解,真正吃透C++的應用。