&和*

&的用法:
(1)取地址,得到变量的指针
例如
</pre><pre name="code" class="cpp">int a=5;
int* p = &a;

例如
 void func(int* a, int* b)
{
    …..
}
int m=3, n=4;
func(&m, &n);



(2)声明引用,相当于定义变量别名,定义别名的变量相当于同一个变量,拥有同一个内存空间,例如:
int a = 3;
int& b = a; // b是a的引用,a,b是同一个变量
b = 4; // 因为a和b是同一个变量,所以a也变化为4
int c = 2;
b = c; // 是赋值给b或a,而不是把b作为c的引用,引用一旦被声明,引用对象不可更改


(3)引用传递,代表将传进来的参数作为对象的引用。
好处:不出现指针,但可以操作内存
void swapint(int &a, int &b)
{
int temp;
temp=a;
a=b;
b=temp;
}




*的用法:
(1)声明指针
(2)取指针变量指向的内存内容
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章