如何在类列表中获取参考?
How to get a Reference on a list of a class?
我对 c++ 很陌生,遇到了一个问题。
S 这是在类 myClass 的 .h 中给出的:
std::vector<uint64_t> getList() const;
现在我在MyClass(.h文件(中做了这个:
private: std::vector<uint64_t> list;
在我的.cpp文件中:
std::vector<uint64_t> MyClass::getList() const{
return list;
}
但是现在,如果我想在列表中推送一个值,我只会获得列表的副本并推送它。
auto list = getList();
list.push_back(1);
有人给了我一个带有参考的提示并尝试了这个:
auto& listRef = getList();
listRef.push_back(1);
我真的不知道如何让它工作...我不知道我做错了什么。
通过引用返回列表,方法是修改签名:
std::vector<uint64_t>& MyClass::getList();
在 .hpp 和.cpp文件中
如果无法更改现有签名,则可以实现一个以不同方式调用的新方法,如下所示 在标题中:
std::vector<uint64_t>& accessList();
在 cpp 中
std::vector<uint64_t>& MyClass::accessList()
{
return list;
}
相关文章:
- C++为构建时间获取QDateTime的可靠方法
- lambda参数转换为constexpr技巧,然后获取带链接的数组
- 如何使用 < 和 > 命令获取 c++ 中的输入和输出?
- 使用指针从C++中的数组中获取最大值
- 如何获取std::result_of函数的返回类型
- 如何在openssl-ecc中获取十六进制格式的私钥
- 使用Unreal C++获取VR耳机的世界位置/方向
- 获取日期异步信号安全吗?如果在信号处理程序中使用,它会导致死锁吗
- 从C字符串中获取奇怪的字符串长度
- 为什么我的for循环不能正确获取argv
- C++错误消息*成员参考.**初学者*
- 如何在类列表中获取参考?
- Armadillo正在为共享的lapack库获取未定义的参考
- 如何获取地图值的参考?
- 从参考中获取的指针可以在定义明确的C 中取无效
- 通过参考从地图获取对象
- 产生副本作为输入,以获取RVALUE参考
- 用于获取多个容器参考的variadic模板
- 获取const lvalue参考的地址是合法的吗?
- 获取迭代器以供常量参考