4

可能重复:
指针和引用参数之间的区别?

使用 C++ 我想知道在参数中使用 & 和 * 有什么区别?

例如:

void swap(int &a, int &b)
{
    int temp = a;
    a = b;
    b = temp;
}

这显然会交换整数 a 和 b。但是下面的函数不会完全一样吗?

void swap(int *a, int *b)
{
    int temp = *b;
    *b = *a;
    *a = temp;
}

我只是想知道什么时候适合使用每一个,也许每一个的优点。

4

1 回答 1

3

指针和引用的区别在于指针可以指向“无”,而引用不能。您的第二个示例应该在取消引用它们之前对指针进行空检查;没有必要对引用这样做。

于 2012-11-11T02:57:32.173 回答