问题: Vector
说明:
向量和其他容器要求其组件类型可分配。引用是不可分配的类型,因为它保存对特定内存位置的常量引用。一旦引用被初始化,它就不能指向不同的对象。
可能的方法:
std::vector<int*> hello;
struct MyStruct { int data; }; std::vector<MyStruct&> hello;
但是,需要注意的是,如果引用的对象被删除或移动,此策略可能会导致悬空引用。
class Wrapper { protected: int& _data; public: Wrapper(int& data) : _data(data) {} }; std::vector<Wrapper> hello;
以上是为什么我不能使用引用作为标准向量中的元素?的详细内容。更多信息请关注PHP中文网其他相关文章!