C++ 如何在容器类中添加对象的引用
我们都熟悉 C++ 中的别名(alias)。别名意味着为某个实体取另一个名称。因此,引用变量是一个别名,即现有变量/对象等的另一个名称。
以下是向变量添加引用的程序:
解释: 在上面的程序中,变量 a 是变量 N 的别名,这意味着我们给变量 N 另一个名称。因此,无论我们使用 a 做什么都会影响 N,反之亦然。
因此,当我们将 a 的值更改为 100 时,N 的值也将更改为 100。
容器类中对象的引用: 以上方法正确地为任何变量提供别名,但在容器的情况下,以上方法会抛出编译错误,因为容器不能直接存储引用,但是有一种替代方法可以做到这一点。在 C++ STL 中,使用模板 std::reference_wrapper来给 C++ 中的任何容器提供引用。std::reference_wrapper 是一个类模板,它将引用包装在可复制、可分配的对象中。它经常用作存储标准容器内部的引用的机制(如在 vector,list 等中)。
以下是向容器类添加对象的引用的程序:
说明:
在上面的程序中,当创建一个类gfg的对象时,构造函数被调用,并且变量a的值被初始化为5。我们将对象的引用存储在列表中,然后通过调用成员函数 setValue() 来改变变量a的值为700。现在,当我们查看引用存储在列表中的对象的属性a的值时,存储的值为700。