c ++中指针和引用之间的区别

时间:2015-11-18 22:01:45

标签: c++

我对C ++中的参数类型感到困惑我在下面的代码中有两个函数:

void degistir2( int *x, int *y )
{ 
   int gecici;
   gecici = *x; *x = *y;
   *y = gecici;
}
void degistir3( int &x, int &y )
{ 
    int gecici;
    gecici = x; x = y;
    y = gecici;
}

这些功能有什么区别?我知道指针和参考,但我不知道它在上述函数中是如何工作的。

1 个答案:

答案 0 :(得分:1)

在第一个示例中,为您的函数提供了x和y地址的副本。

在第二个示例中,您的函数被赋予与函数调用源自的代码相同的x和y实例。

默认情况下,函数会接收传递给函数的变量的副本。您的两个示例都允许您通过不同的方法访问原始x和y。

有关更多详细信息和示例,请参见this guide的7.2-7.4。