C++通过引用将一个变量与另外两个变量联系起来

C++ tie one variable to two others via references

本文关键字:变量 两个 起来 联系 引用 C++ 一个      更新时间:2023-10-16

在C++中,我们可以通过引用定义一个变量,比如:

int foo = 3;
int &bar = foo;

然后,下面的代码

cout << foo << " " << bar;

将打印

3 3

因为bar的"值"通过引用(&)绑定到foo的值。我想知道,有没有办法把"bar"的值与两个变量联系起来?假设我有三个变量:格迪,尼尔和亚历克斯,我希望尼尔总是等于亚历克斯+格迪。有没有办法两个人写这样的东西:

int alex = 4;
int geddy = 5;
int &neil = alex + geddy;

那么neil将返回9?那么,如果我把亚历克斯换成7,尼尔会回到12吗?

不,不是真的。不过,你可以制作一个函数或函子:

int alex = 4;
int geddy = 5;
auto neil = [&]() { return alex + geddy; };
std::cout << neil() << "n";