c++学习 打卡第三天《引用》 补发
程序员文章站
2022-05-13 21:18:53
...
引用是标识符的别名,定义一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象。符号为&,两个程序区别一下:
1:
#include <iostream>
using namespace std;
void swap(int a,int b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int x=5,y=10;
cout<<"printf the x and y"<<x<<"+"<<y<<endl;
swap(x,y);
cout<<"printf the x and y"<<x<<"+"<<y<<endl;
}
2:引用形式下
#include <iostream>
using namespace std;
void swap(int &a,int &b)
{
int t=a;
a=b;
b=t;
}
int main()
{
int x=5,y=10;
cout<<"printf the x and y"<<x<<"+"<<y<<endl;
swap(x,y);
cout<<"printf the x and y"<<x<<"+"<<y<<endl;
}
两个不同的形式,都是为了想实现x和y的互换,但是1中最后的值还是x=5,y=10,而2中可以实现x和y的互换。
3。带默认参数值的函数
#include<iostream>
#include<iomanip>
using namespace std;
int louvm(int length,int width=2,int height=3);//函数声明
int main()
{
const int x=10,y=20,z=30;
cout<<"the box data is"<<endl;
cout<<louvm(x,y,z)<<endl;
cout<<"the box data is"<<endl;
cout<<louvm(x,y)<<endl;
cout<<"the box data is"<<endl;
cout<<louvm(x)<<endl;
return 0;
}
int louvm(int length,int width,int height)
{
cout<<setw(5)<<length<<setw(5)<<width<<setw(5)<<height<<endl;
return height*width*length;
}