c++點滴

數組名作爲函數參數傳遞時自動退化爲指針:
int Getsize(int data[])
{
return sizeof(data);//得到結果是4:一個指針的大小
}

int _main(int argc, _TCHAR * argv[])
{
int data1[]={1,2,3,4,5};
int size1=sizeof(data1);//得到20,5個int,一個佔4字節
int *data2=data1;
int size2=sizeof(data2);//得到4,指針
}
複合類型:
1:引用:除了兩種列外情況,引用類型必須與他綁定(引用的)的對象的類型嚴格匹配
例外:
第一種:初始化常量引用時允許使用任意表達式作爲初始值;
允許常量引用引用字面值,非常量對象甚至表達式
第二種:對const的引用可能引用一個非const對象
常量引用僅對引用可參與的操作進行了限定,而對於引用對象本身是不是常量沒有要求,因爲對象可能是一個非常量,所以可以通過其他途徑修改她的值;

2.指針,是一種指向另一種類型的類型
與引用不同:1,不是從一而終,生命期內可更換指向對象
2,無需定義時賦值,
相同:除了兩種例外,指針類型也必須與指向對象嚴格匹配
例外:1。允許一個指向常量的指針指向非常量對象
和常量引用相似,指向常量的指針也沒有規定指向的對象必須是一個常量;
2.存在繼承關係的類是一個非常重要的例外:可以將基基類指針或引用綁定到一個派生類對象上:可以將Quato&綁定到Bulk_quota對象;也可以把一個Bulk_quota的地址付給一個Quota指針

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章