概述
一、嵌入式開發中為什麼學習c++語言?
1、 嵌入式軟體工程師崗位需求
2、 面向過程程式設計vs物件導向程式設計
面向過程程式設計的特點:
①c語言的特點
*c語言是在時間的過程中逐步完善起來的
·沒有深思熟慮的設計過程(使用時存在很多「灰色地帶」)
·殘留量過多低階語言的特徵(直接利用指標進行記憶體操作)
*c語言的目標是高效的
·最終程式執行效率的高效
②面向過程的程式設計特點
面向過程程式設計:資料結構+演算法
*主要解決科學計算問題,使用者需求簡單而固定
*特點:分析解決問題所需要的步驟
利用函式實現各個步驟
依次呼叫函式解決問題
*問題:軟體可重用性差
軟體可維護性差
構建的軟體無法滿足使用者需求
物件導向程式設計的特點:
①物件導向的程式設計特點:
物件導向程式設計:由現實世界建立軟體模型
*將現實世界中的事物直接對映到程式中,可直接滿足客戶需求
*特點:直接分析使用者需求中涉及的各個實體
在**中描述現實世界中的實體
在**中關聯各個實體協同工作解決問題
*優勢:構建的軟體能夠適應使用者需求的不斷變化
直接利用面向過程方法的優勢而避開其劣勢
②c++語言的特點:
c語言+物件導向方**:objective-c、c++
3、 學習c++的優勢
*強化c語言程式設計能力、提高程式設計的**質量
*幫助學習其他程式語言
1、 c++之父:本賈尼·斯特勞斯特魯普
2、 c++標準:98、03、11、14
3、 c++11值得學習的特性
智慧型指標如shared_ptr、weak_ptr等
rvalue reference
function/bind
lambdaexpression and closure
4、 c++開發工具(ide:整合開發環境)eclipse cdt
《effective c++ 3rd》*必看、兩遍以上
《c++程式設計規範》
《敏捷軟體開發——原則、模式與實踐》
《**大全》(第二版)
從c到c++的公升級
1、 宣告定義
for(int i = 0; i< 5; i++)
i作用域:for迴圈,出了for迴圈不能用
c++支援c99,所有變數可以在需要時定義
c語言中的變數必須在作用域開始的位置定義
2、 register關鍵字的公升級
*register關鍵字請求「編譯器」將區域性變數儲存於暫存器中
·c語言無法取得register變數位址
·c++中可以取得register變數的位址
c 學習記錄(一)
函式簽名 除函式名以外的返回型別 引數等 include 格式 引用標準庫標頭檔案,編譯器從標準庫目錄開始搜尋 include 格式 引用非標準庫的標頭檔案,編譯器從使用者的工作目錄開始搜尋 malloc free函式 include 運算子過載 有些時候函式宣告在operator前有 有時候沒有 ...
C 學習中記錄(一)
js中的頁面跳轉和顯示 function searchform thisform,width,height 將查詢畫面的查詢條件返回父畫面 document.getelementbyid 記錄資料 value returntarget 0 cleradioboxsituationstr showlo...
個人C 學習筆記記錄(一)
extern const int a 1 這樣定義的常量才能被引用 extern const int a 是引用常量 在乙個工程中不能重複定義全域性變數 int a 3 int b a 用來引用a a的另乙個名字是b。不能用int b 3 這樣的形式。但是對於常量而言可以用const int b 3...