引用和指针

传指针

#include <iostream>
using namespace std;

void Swap(int* left, int* right)
{ 
	int temp = *left;
	*left = *right;
	*right = temp;
}
int main() {
	int a=1,b=2;
    Swap(&a,&b);
    cout<<a<<" "<<b<<endl;
    return 0;
}

传引用

#include <iostream>
using namespace std;

void Swap(int& left, int& right)
{ 
	int temp = left;
	left = right;
	right = temp;
}
int main() {
	int a=1,b=2;
    Swap(a,b);
    cout<<a<<" "<<b<<endl;
    return 0;
}

然后我们来做个实验

#include <iostream>
using namespace std;

int main() {
	int a=2;
    int& c=a;
    cout<<c<<endl;
    a=4;
    cout<<c<<endl;
    return 0;
}

我们定义c为a的引用,通过这样的定义,c和a表示同一对象,需要特别注意的是,引用并不产生对象的副本,仅仅是对象的同义词,因此当执行下面的语句之后
image

posted @ 2024-03-03 20:47  lipu123  阅读(6)  评论(0)    收藏  举报