我有以下代码,
#include <iostream>
using namespace std;
void swap(int *x, int *y)
{
int z = *x;
*x = *y;
*y = z;
}
// Driver Code
int main()
{
int a = 45, b = 35;
auto& a_ref = a;
cout << "a = " << a_ref << " b = " << b << "\n";
swap(&a_ref, &b);
cout << "After Swap with pass by pointer\n";
cout << "a = " << a << " b = " << b << "\n";
}
可以看出,我首先获得
a
的引用,然后将其作为指针传递,我想知道这有时会给出undefined
吗?
您不能获取推荐人的地址。当引用类型的变量出现在表达式中时,它的计算结果始终为它所引用的对象(或函数)。所以表达式
&a_ref
无论如何都等价于 &a
。
如果表达式最初的类型为“reference to
”,[...]。表达式指定引用所表示的对象或函数T