[C++]指針和引用的比較小結

1)       引用始終指向同一個對象,引用必須初始化;

2)       賦值差異:

l      給引用賦值修改的是引用所關聯的對象值,而不是將引用與另一個值關聯。

        int  ival=1024,  ival2 =2048; 
	int  *p=&ival;  int  *p2=&ival2;
        cout<<"*p="<<*p<<"  *p1="<<*p2<<endl;		//1024	1024
	p=p2;									//p指針指向p2所指的ival2
	cout<<"*p="<<*p<<"  *p1="<<*p2<<endl;		//2048    2048
	cout<<"ival="<<ival<<"  ival2="<<ival2<<endl;	//1024	2048

l      給指針賦值則可以修改指針關聯另一個對象。

        int num=1024,num2=2048;
	int &r=num;int &r2=num2;
	cout<<"&r="<<num<<"  &r2="<<num2<<endl;	//1024	2048
	r=r2;										//修改引用所關聯的對象值
	cout<<"&r="<<num<<"  &r2="<<num2<<endl;	//2048	2048



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