ca56a_c++_函数参数传递_引用形参,c语言没有引用形参

/*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 << "before swap()i and j value:" << i << ","<

 

你可能感兴趣的:(C++)