gpt4 book ai didi

c++ - 使用引用类型的成员变量复制 C++ 类

转载 作者:IT老高 更新时间:2023-10-28 21:35:34 24 4
gpt4 key购买 nike

我有一个类,它存储对其父级的引用,该引用在构造函数中传递。如果我尝试复制一个实例,我会收到一个错误“错误 C2582:'operator =' 函数不可用”,可能是因为引用不可分配。

有没有办法解决这个问题,或者我只是将变量更改为指针而不是引用?

例如(过于简单但我认为有重点):

class MyClass
{
public:
MyClass(OtherClass &parent) : parent(parent) {}
private:
OtherClass &parent;
};

MyClass obj(*this);
.
.
.
obj = MyClass(*this);

最佳答案

有一种方法可以做到这一点,并且仍然使用引用,使用 reference_wrapper。所以

    T& member;

变成

    std::reference_wrapper<T> member;

引用包装器基本上只是可​​重新分配的引用。

关于c++ - 使用引用类型的成员变量复制 C++ 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3841299/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com