Why can#39;t I make a vector of references?(为什么我不能制作参考向量?)
问题描述
当我这样做时:
std::vector<int> hello;
一切都很好.但是,当我将其设为引用向量时:
Everything works great. However, when I make it a vector of references instead:
std::vector<int &> hello;
我收到像
错误 C2528:指针":指向引用的指针非法
error C2528: 'pointer' : pointer to reference is illegal
我想将一堆对结构的引用放入一个向量中,这样我就不必干预指针了.为什么vector会对此大发雷霆?使用指针向量是我唯一的选择吗?
I want to put a bunch of references to structs into a vector, so that I don't have to meddle with pointers. Why is vector throwing a tantrum about this? Is my only option to use a vector of pointers instead?
推荐答案
vector 这样的容器的组件类型必须是 可分配.引用是不可赋值的(你只能在声明时初始化它们一次,并且以后不能让它们引用其他东西).其他不可分配的类型也不允许作为容器的组件,例如vector
是不允许的.
The component type of containers like vectors must be assignable. References are not assignable (you can only initialize them once when they are declared, and you cannot make them reference something else later). Other non-assignable types are also not allowed as components of containers, e.g. vector<const int>
is not allowed.
这篇关于为什么我不能制作参考向量?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:为什么我不能制作参考向量?


基础教程推荐
- 如何定义双括号/双迭代器运算符,类似于向量的向量? 2022-01-01
- 如何在 C++ 中处理或避免堆栈溢出 2022-01-01
- C++ 标准:取消引用 NULL 指针以获取引用? 2021-01-01
- 您如何将 CreateThread 用于属于类成员的函数? 2021-01-01
- 运算符重载的基本规则和习语是什么? 2022-10-31
- 设计字符串本地化的最佳方法 2022-01-01
- 调用std::Package_TASK::Get_Future()时可能出现争用情况 2022-12-17
- C++ 程序在执行 std::string 分配时总是崩溃 2022-01-01
- C++,'if' 表达式中的变量声明 2021-01-01
- 什么是T&&(双与号)在 C++11 中是什么意思? 2022-11-04