返回列表 回复 发帖

【求助】指针和引用的区别

函数的参数可以定义为指针类型(*),也可以定义为引用(&),似乎都可以。
反正都是指针,不知道有什么区别,何时用指针,何时用引用,请高手指点。

Re:【求助】指针和引用的区别

C并不支持引用。在C++中引用其实就是一种偷懒的指针传递的方式。在形式上很象数值传递,不象指针传递那样迫使用户使用指针进行运算。而效果却和指针传递方式一样。

引用并不指针,应该尽可能使用。
习惯了无聊,不无聊时才知道无聊是多么的不无聊。

Re:【求助】指针和引用的区别

void change1( int * a , int * b )
{
   int c;
   c = * a;
   * a = * b;
   *b  = * a;
}//使用指针做参数传递

void change2 ( int & a ,int & b)
{
    int c;
    c = a ;
    a = b;
    b = c;
} //使用引用做参数传递

void main ()
{
int a = 1;
int b = 2;
change1 (&a,&b); //调用第一个函数以指针方式来转换 传递的是指针
change2(a,b);      //调用第二个函数以指针方式来转换 传递的是引用
}

Re:【求助】指针和引用的区别

不难看出,采用引用传递简明干净,干吗不用?如果你用指针去理解引用的用法的话,不免会糊涂起来,因为它只是一种约定而已。
习惯了无聊,不无聊时才知道无聊是多么的不无聊。

Re:【求助】指针和引用的区别

引用调用是直接传递原来变量的地址,而指针则相当于复制原先变量的地址在进行处理,这两者之间谁优谁劣也就很明显了
爱情是绝望的 而你的誓言如此温暖 让我们看完这场烟火好吗? 在风中轻轻牵着我的手 不要让我看到离别。
返回列表