一、const和define區別數組
const有數據類型(不能改變的變量),define只是簡單的字符串替換,沒有數據類型。安全
C++程序用const徹底取代 define。函數
const還能夠類成員函數爲不能改變成員變量的恆態函數。(mutable int a除外).net
例子:3d
const int buffsize=10;對象
int buf[buffsize];blog
在C編譯器中編譯出錯,由於繼承
二、string類的使用字符串
string string[3]={「aa」,「bb」,「cc」};//定義了一個包含三個string對象的數組。get
三、內聯函數(inline)
inline是指嵌入代碼,在調用內聯函數的地方直接嵌入代碼,不須要中斷調用,因此速度更快。和C中的#define相比,有類型檢查,更加可靠安全。
何時使用:
一個函數不斷被重複調用,函數的代碼量少。如swap函數
inline void swap(int a,int b){a=a^b;b=a^b;a=a^b;}
四、棧和堆的地址分配
int a=1;
int *p=&a;
int &Ra=a;
cout<<&a」<<&a<<endl;
cout<<&p<<endl;
cout<<&Ra<<endl;
按變量定義的順序,在棧上的地址分配的由高地址向低地址分配的
五、虛繼承
六、函數調用也叫作過程,須要理解棧幀
http://blog.csdn.net/yxysdcl/article/details/5569351(棧幀講得很是好)