本问题对应文章链接:C++常见面试题整理
1.引用传递
2.指针传递
3.值传递
引用传递:引用传递是C++中特有的函数参数传递方式,当然在C语言中也有使用。主要是通过将引用作为函数参数进行传递,在函数调用时,系统会将函数的实参的地址复制给函数的形参,在函数内部对形参的修改会影响实参的值。这个过程就避免了较大数据的拷贝,因此一般参数是较大类的对象时,要使用引用传递。
void swap(int &a,int &b){ int tmp=a; a=b; b=tmp; }
在C++中,引用传递、指针传递和值传递是参数传递的三种方式。
“`c++ void swap(int *a,int *b){ int tmp=*a; *a=*b; *b=tmp; } “`
“`C++ void swap(int a,int b){ int tmp=a; a=b; b=tmp; } //进行swap失败了,调用这个函数不会将数据交换成功 “`
不同之处:
共以下 3 个回答
引用传递、指针传递和值传递是函数参数传递的三种不同方式,它们有以下的定义和区别
1.引用传递
2.指针传递
3.值传递
引用传递:引用传递是C++中特有的函数参数传递方式,当然在C语言中也有使用。主要是通过将引用作为函数参数进行传递,在函数调用时,系统会将函数的实参的地址复制给函数的形参,在函数内部对形参的修改会影响实参的值。这个过程就避免了较大数据的拷贝,因此一般参数是较大类的对象时,要使用引用传递。
在C++中,引用传递、指针传递和值传递是参数传递的三种方式。
“`cpp
void swap(int &a,int &b){
int tmp=a;
a=b;
b=tmp;
}
“`
“`c++
void swap(int *a,int *b){
int tmp=*a;
*a=*b;
*b=tmp;
}
“`
“`C++
void swap(int a,int b){
int tmp=a;
a=b;
b=tmp;
} //进行swap失败了,调用这个函数不会将数据交换成功
“`
不同之处: