/*ca56a_c++_函数参数传递_引用形参,c语言没有引用形参 txwtech 使用引用形参修改实参 使用引用形参返回额外信息 利用const引用避免复制 更灵活的指向const的引用 、、 string::size_type find_char(const string &s, char c)//引用形参都建议定义为const 、、 -普通的非const引用形参使用时不太灵活 传递指向指针的引用
void ptrswap(int *&v1, int *&v2) //v1是个引用,它与指向int的指针相关联
*/
/*ca56a_c++_函数参数传递_引用形参,c语言没有引用形参
txwtech
使用引用形参修改实参
使用引用形参返回额外信息
利用const引用避免复制
更灵活的指向const的引用
、、
string::size_type find_char(const string &s, char c)//引用形参都建议定义为const
、、
-普通的非const引用形参使用时不太灵活
传递指向指针的引用
void ptrswap(int *&v1, int *&v2) //v1是个引用,它与指向int的指针相关联
*/
#include
#include
using namespace std;
//非引用形参-复制形参
//void swap(int v1, int v2)
//{
// int temp;
// temp = v1;
// v1 = v2;
// v2 = temp;
//}
void swap(int &v1, int &v2) //引用形参
{
int temp;
temp = v1;
v1 = v2;
v2 = temp;
}
void AddOne(int x)
{
x = x + 1;
}
void AddTwo(int &x) //引用形参
{
x = x + 2;
}
int doOp(int x, int y,int &minusResult,int &byResult,int &divResult)
{
int sumResult;
sumResult = x + y;
minusResult = x - y;
byResult = x * y;
divResult = x / y;
return sumResult;
}
bool isShorter(string s1,string s2)//判断哪个字符串短,比较大小,传引用好些
{
return s1.size() < s2.size();
}
bool isShorter1(const string &s1, const string &s2)//判断哪个字符串短,比较大小,传引用好些
{
return s1.size() < s2.size();
}
//string::size_type find_char(string &s, char c)//引用形参都建议定义为const
string::size_type find_char(const string &s, char c)//引用形参都建议定义为const
{
string::size_type i = 0;
while (i != s.size() && s[i] != c)
++i;
return i;
}
//传递指向指针的引用,用法,用的不多
//不是交换内容,是交换指针
void ptrswap(int *&v1, int *&v2) //v1是个引用,它与指向int的指针相关联
{
int *tmp = v2;
v2 = v1;
v1 = tmp;
}
int main()
{
int i = 10;
int j = 20;
cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?