c++中的传引用参数

 

首先,你得懂得引用的概念。我用代码来简易地说明一下:

int i=0,a=1;
int &r=a;   //  这一步的意思为r绑定了a;
cout<

在调用的函数中,如果没有使用传引用参数,调用时会为形参和实参分别申请一个内存地址,形参和实参在内存中都有自己的内存地址,所以形参值的改变不会影响到实参;使用了引用形参就会把形参直接传入实参的内存地址,实现同步的改变。例如下边两个例子:

# include 
using namespace std;
int set(int i)         //未传引用的参数
{
    int b=4;
    i=b;
    return i;
}
int main()
{
    int i=1;
    cout<
# include 
using namespace std;
int set(int &i)        //使用传引用的参数
{
   int b=4;
   i=b;
   return i;
}
int main()
{
   int i=1;
   cout<

以上是关于传引用参数的解释,

下边是另一个例子:

# include 
using namespace std;
int count(char m[], int size, int &count_b)
{
	int i, count_a = 0;
	count_b = 0;
	for (i = 0; i < size; i++) {
		if (m[i] == 'a') {
			count_a++;
		}
		else {
			count_b++;
		}
	}
	return count_a;
}
int main()
{
	int count_b;
	char m[5] = { 'a','b','b','a','a' };
	cout << count(m, 5,count_b) << endl;   //这里输出为a的个数:3
	cout << count_b << endl;               //这里输出位b的个数:2
	system("pause");
	return 0;
}

 

你可能感兴趣的:(c++编程)