引用与结构
引用非常适合用于结构和类, 使用结构引用参数的方式与使用基本变量相同, 只需要声明结构参数时使用引用运算符&即可, 如果不希望函数修改传入的结构, 可以使用const
来看一个简单的demo
#include <iostream>
#include <string>
using namespace std;
// 声明一个结构体
struct st1
{
string name;
int made;
int attempts;
float percent;
};
// 只是用来显示, 所以使用const引用
// 使用引用的原因是为了节省内存
void display(const st1 & ft);
// 没有使用const是为了在函数内部修改结构体的内容
void set_pc(st1 & ft);
// 返回一个结构体的引用
// 由于只需要修改第一个结构体的内容, 所以第二个结构体引用为const
st1 & accumulate(st1 & target, const st1 & source);
int main()
{
// 创建几个结构体变量, 并初始化
// 如果初始值比成员值少, 剩余的成员将被设置成0
st1 one = {"one", 1, 11};
st1 two = {"two", 2, 22};
st1 three = {"three", 3, 33};
st1 four = {"four", 4, 44};
st1 five = {"five", 5, 55};
st1 team = {"team", 0, 0};
// 不进行初始化
st1 dup;
// 默认由于没有对percent进行初始化, 所以percent是0
display(one);
// 设置p