C++初步學習

C++主要特色:編譯型語言,強類型(並不是類型安全),操做符重載,泛型(STL庫容器)。數組

匿名聯合:主要體現成員變量在內存中分佈的方式,外界沒法調用無名的對象。安全

bool:任何基本類型都能隱式轉爲布爾類型。函數

函數重載:spa

原理:g++編譯器換名機制,形參表不一樣則換名後函數名不一樣。指針

extern C:按照C語言的方式編譯,沒法換名,沒法函數重載。對象

 

編譯器匹配函數的原則:blog

 

 

 

 

 

缺省參數:聲明指定,定義不要指定;某一個參數有缺省值,後面的參數都須要;避免缺省參數產生重載歧義。內存

 

inline函數:編譯後用二進制代碼替換函數調用。減小調用時間的開銷(各類保存現場,出棧入棧)。C++內聯函數優於C語言的有參宏(宏函數)。編譯器

動態內存分配:編譯

malloc/free與new/delete:前者繼續可用,後者分配同時初始化(例如類的初始化表、引用等)。

數組方式分配:  類型 *p = new 類型 [] {}
    釋放:  delete [] p; p = NULL;(防止雙重釋放報錯)

引用:

 內存的別名(alias),對引用操做即對目標內存操做;不佔內存,並不是實體(從C++看,從彙編來看是指針);

必須初始化,不能換目標;常屬性要求一致,能夠更加嚴格,int a; const int &ra= a;

常引用(萬能引用)延長臨時變量的生命期。

引用形參以及常引用形參:

避免複製對象產生開銷;

常引用形參:防止修改實參;接受常類型實參,foo(a,10);

引用型返回值:不能返回局部變量的引用。

類型轉換:

 

相關文章
相關標籤/搜索