博客內容爲學習筆記和資料補充,圖取自Mooc:《C++程序設計》第一週
https://www.icourse163.org/course/BUPT-1003564002
關於C++
1. C++十分古老,由C語言發展而來,功能十分複雜
2. 一般將C++分爲兩種,兩者差別很大
C++11標準前的C++: 經典C++,Classic C++
C++11標準之後的C++: 現代C++,Modern C++
3. 現代C++支持各種編程範式:包括過程式,面向對象,泛型,函數式
4. C++在軟件工程中的地位:一種語言,一種兵器
編程範式簡介:Programming Paradigm
1. 結構化編程:
類似C語言,結構化編程是指順序,選擇和循環的組合可以實現任何算法功能。
簡單總結優缺點,
優點:整體思路清楚,目標明確;設計過程中可以獨立測試各個模塊,以發現問題。
缺點:沒有對數據進行包裝,不能保護數據。
2. 面向對象編程:保護數據
面向對象編程是通過對象定義數據交互和操作的編程方法。C++是面向對象的,其三個特點是封裝、繼承和多態,封裝就可以保護數據,外部對象無法訪問私有數據。
3. 泛型編程
泛型編程是一種將數據類型也作爲參數傳入的編程方法,最著名的莫過於C++的模板。
4. 函數式編程
函數編程是對“映射的”描述,是從一個數據到另一個數據的表示,其追求的是給輸入值,給出輸出值,運算過程不改變任何值,最後給出返回值。下面兩圖給出了對比,左圖是一般編程方法,會導致其它數據的改變;右邊是函數式編程,強調的是不對外部數據操作。
高級語言演化
下圖中,虛線是借鑑,實線是直接演化。