C++主要特點:編譯型語言,強型別(并非型別安全),運算子多載,泛型(STL庫容器),
匿名聯合:主要體現成員變數在記憶體中分布的方式,外界無法呼叫無名的物件,
bool:任何基本型別都能隱式轉為布爾型別,
函式多載:
原理:g++編譯器換名機制,形參表不同則換名后函式名不同,
extern C:按照C語言的方式編譯,無法換名,無法函式多載,

編譯器匹配函式的原則:

預設引數:宣告指定,定義不要指定;某一個引數有預設值,后面的引數都需要;避免預設引數產生多載歧義,
inline函式:編譯后用二進制代碼替換函式呼叫,減少呼叫時間的開銷(各種保存現場,出堆疊入堆疊),C++行內函式優于C語言的有參宏(宏函式),

動態記憶體分配:
malloc/free與new/delete:前者繼續可用,后者分配同時初始化(例如類的初始化表、參考等),
陣列方式分配: 型別 *p = new 型別 [] {}
釋放: delete [] p; p = NULL;(防止雙重釋放報錯)
參考:
記憶體的別名(alias),對參考操作即對目標記憶體操作;不占記憶體,并非物體(從C++看,從匯編來看是指標);
必須初始化,不能換目標;常屬性要求一致,可以更加嚴格,int a; const int &ra= a;
常參考(萬能參考)延長臨時變數的生命期,
參考形參以及常參考形參:
避免復制物件產生開銷;
常參考形參:防止修改實參;接受常型別實參,foo(a,10);
參考型回傳值:不能回傳區域變數的參考,
型別轉換:


轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/228334.html
標籤:C++
上一篇:C++基礎知識篇:C++ 運算子
