如何转换(指针向量)-->(指向指针数组的指针)
How to Convert a (vector of pointers) --> (Pointer to an array of pointers)
我理解"如何将向量转换为c 中的数组"
回答如何将双打(非指针类型)向量转换为数组。
我的要求::将(定制指针的向量)转换为(定制级指针指向定制类指针的数组)。
做以下代码的含义"(指针的向量) ->(指向定制类指针数组的指针)"
std::vector <CustomClass*> vectorObject(SizeOfVector); // Here each element of the vector //is a pointer to CustomClass object.
CustomClass* customClassArray = &vectorObject[0];
如果我错了,请纠正我。请帮助代码段。
预先感谢。
向量是阵列的包装器,并提供了数组的所有功能,同时还允许阵列增长缩水,知道它的大小和许多其他有用的功能。STD向量的要求之一是其数据以连续的方式像数组一样存储。由于此要求,您可以通过获取第一个元素的地址来获取一系列元素,而不论类型如何。
std::vector <CustomClass*>vectorObject
表示您有一个定制指针的向量来获取数组
CustomClass **Array = &vectorObject[0]
现在我在向量0中的偏移0处采取了连续的数据段,并将其分配给了定制类的指针指针,请记住,数组和指针在C和C 中深处连接,我现在可以访问指针指针,就像它一样数组
CustomClass * FirstEle = Array[0];
是的,向量必须在内存中是conseq note,因此表达式"&amp; vectorObject [0]"将返回第一个元素的地址,您可以指向。<<<<<<。/p>
实际vectorObject[0]
是CustomClass *
,因此&vectorObject[0]
是CustomClass **
。
您在这里做一个有趣的假设,即vector<>
依次存储其元素。不过,您可能是对的,所以您的代码应该起作用。
编辑:根据Ben Voigt的评论,标准可以保证vector<>
的连续性,因此此方法将100%起作用。
- 指向指向字符数组的指针数组的指针
- 通过指向指针数组的指针访问子类的属性
- C++,指针数组,指向双链表中的条目
- 在C++中,如何初始化指向wchar_t*的指针数组(生成wchar_t**)
- C++从函数指针数组调用函数
- 关于指向指针数组的指针
- 将返回值存储在函数指针数组的指针中是如何工作的?
- 将链表转换为指针数组时出错
- C++ 对象指针数组的复制构造函数
- C++ - 循环访问指针数组会导致错误
- 删除指针数组 (C++) 中的元素
- 如何循环访问 cpp 中的函数返回的字符指针数组
- 将函数指针数组中的函数指针作为模板参数传递
- Google Or-Tools Glop:如何创建指向 const 对象的指针数组?
- 具有推导参数的模板函数指针数组变量
- 如何模板化堆栈分配的多态指针数组到接口,包括派生类型的相应点?
- C++指针数组到字符数组中的特定位置
- 如何在C++中复制指针数组的数据
- 初始化类中的指针数组,并在另一个类中检索它
- 尽管直接设置了指针数组,但仍为空