1、內建型別:int float等程式語言自己定義的型別
類型別:自己宣告的類,即是對物件的抽象
2、const double *cp 表示cp是指向乙個const型別double型別資料的指標,而非是const指標
類中形參函表後面的const反應在類中宣告成員函式的形式
3、typedef string *pstring;
const pstring cstr; //該宣告是把cstr定義為指向string型別物件的const指標,其中const 修飾的是pstring 。等價於 string *const cstr;
const指標可以放在型別前也可以放在型別後 string const s1; const string s2;
4、嚴格地說,c++沒有多維陣列,通常所知的多維陣列就是陣列的陣列
5、switch結構,只能在它的最後乙個case標號或default標號後面定義變數 是為了避免出現**跳過變數的定義和初始化的情況。在這種情況下,如果需要為某個特殊的case定義變數,可以引入塊語句。因為變數會在塊結束前一直存在。
6、*dest++=*source++;等價於:
*dest=*source;
++dest;++source;
7、非引用新參表示對應實參的區域性副本,說白了也就是變數作用域的問題 指標可以修改對應的值
與所有引用一樣,引用形參直接關聯到其所繫結的物件,而並非這些物件的副本
引用:作為函式引數和返回函式左值
8、引用型引數應該在能被定義為const的情況下,盡量定義為const 宣告引用時,必須同時對其進行初始化
9、類的所有成員都必須在類定義的花括號裡面宣告,此後,就不能再為增加任何成員。類的成員函式既可以在類的定義內也可以在類的定義外定義。編譯器隱式地將在類內定義的成員函式當做內聯函式。類的成員函式可以訪問該類的private成員
10、有多個初始化時不能使用複製初始化,合成的預設建構函式不會自動初始化內建型別的成員
11、形參與const形參的等價性僅適用與非引用形參,const的形參主要用於指標和引用引數 臨時物件都是const型
12、引用總結: const 型別識別符號 &變數名()
引用型別引數應該在能被定義為const的情況下,盡量定義為const
引用返回函式值:
型別識別符號 &函式名(形參列表及型別說明)
用引用返回函式值最大的好處是在記憶體中不產生被返回值的副本
引用作為返回值,遵守的規則:
(1)不能返回區域性變數的引用(2)不能返回函式內部new分配的記憶體的引用(3)可以返回類成員的引用,但最好是const(4)引用與一些操作符的過載
13、類成員函式後加const 是為不改變資料成員
學習和思考
領悟 遇見問題,先思考,別動不動就去別人哪兒找答案。執行.configure 我也跟著敲.configure。完全沒有想 是什麼意思!是個人主目錄 是指當前目錄。linux所有操作都是對應指定目錄的,比如執行 configure 那你的當前目錄就得有configure這個檔案才行。我就一直執行不出來...
C 和C 的思考
從2011年從業至今已經寫了7年c 了,而c go語言雖然早有涉獵,但直到最近才開始思考語言的發展和工程之間的關係。c 更容易寫出高內聚 使用指標做原地記憶體操作 直接堆疊控制,減少記憶體分配,提高利用率 呼叫原生作業系統api,利用os特性 使用模板元程式設計製作介面統一演算法庫 引用計數的智慧型...
ARM學習筆記 思考 20140810
一 cpsr的中斷禁止位 中斷禁止位包括i f,用來禁止或允許irq和fiq兩類中斷,當i 1時,表示禁止irq中斷,i 0時,表示允許irq中斷 當f 1時,表示禁止fiq中斷,f 0時,表示允許fiq中斷。思考 是否可以利用禁用中斷位達到反除錯的目的?摘自 組合語言程式設計 基於arm體系結構 ...