執行前:
**區:共享,唯讀;全域性區:全域性變數、靜態變數、常量在全域性區,區域性變數在區域性區。
執行後:
棧區:系統自動分配釋放,執行完自動釋放,編譯器保留一次,類似與map(函式體不要返回區域性變數的位址)。
堆區:程式設計師new分配釋放(程式結束後系統強行釋放),new返回值為該資料型別的乙個指標,delete釋放。(陣列:int *p=new int[10],delete[ ] p)
引用:給變數起別名,同乙個記憶體,int &b=a;引用必須初始化,且不可更改指向,值可以更改(不要返回區域性變數的引用,但可以作為左值)。
注:值傳遞不改變實參值,位址傳遞、引用傳遞會改變。常量引用修飾形參防止誤操作。
指標常量:int * const p=&a,p指向不可更改,值可以修改(引用的本質就是指標常量);常量指標:const int *p,指向可變,值不可改變。
二進位制讀寫檔案可以實現自定義資料型別的寫入。
內聯函式作用類似於巨集,節省函式呼叫的開銷(以增加**量為代價,直接替換),函式體多於10行不推薦使用。宣告加inline不足以證明為內聯函式,定義也要加。
返回值為bool型別的仿函式成為謂詞,乙個引數為一元謂詞,兩個引數為二元謂詞。
functional 標頭檔案提供了內建仿函式(常用:大於greater,邏輯非logical_not,小於less)。
C 課題筆記20190716
書 場所 囲 static int anpan 內 有効 extern int anpan extern別 參照 場合extern同 変數宣言 extern enemy.h ifdef enemy int anpan else extern int anpan endifstatic 別 関數扱 s...
C 學習筆記 C 中的new
在c語言中我們學習過動態記憶體分配一共有這麼幾個操作 malloc free realloc alloc 1.malloc最常見,申請指定大小的記憶體,如果成功則返回申請記憶體的首位址,如果失敗返回null。2.free操作釋放由malloc realloc和alloc申請的記憶體,其實就是釋放在堆...
c 學習筆記 c 中的lambda
captures params captures captures的含義,其取不同值的含義如下 不捕獲任何外部變數 以值的形式捕獲所有外部變數 以引用形式捕獲所有外部變數 this captures the current object this by reference x,y x 以傳值形式捕獲...