Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 指向向量的指针向量_C++_Pointers_Vector - Fatal编程技术网

C++ 指向向量的指针向量

C++ 指向向量的指针向量,c++,pointers,vector,C++,Pointers,Vector,如何创建和访问指向向量的指针向量。 我的意思是: 标准::向量,向量1,向量2,向量3; int main{ 向量向量向量{ &vec1, &vec2, &vec3 }; } 像这样初始化vecP似乎是可行的,或者至少在visualstudio中,它不会给出任何表示语法错误的红色下划线。 但是,如果我尝试这样访问它: //连续int main vecP[1]。调整大小6; //或 vecP[1][3]=7; 它不起作用 关于表达式的某些内容必须具有类类型,如果我将上面块中的vecP替换为vecP

如何创建和访问指向向量的指针向量。 我的意思是:

标准::向量,向量1,向量2,向量3; int main{ 向量向量向量{ &vec1, &vec2, &vec3 }; } 像这样初始化vecP似乎是可行的,或者至少在visualstudio中,它不会给出任何表示语法错误的红色下划线。 但是,如果我尝试这样访问它:

//连续int main vecP[1]。调整大小6; //或 vecP[1][3]=7; 它不起作用

关于表达式的某些内容必须具有类类型,如果我将上面块中的vecP替换为vecP,它将表示没有与这些操作数匹配的运算符


我对C++中指针的概念很陌生,我相信解决方案很简单,但是不管所有帮助都被理解了。

< P>给出了你的声明,你需要< /P>
vecP[1]->resize(6);
// or
vecP[1]->at(3) = 7;

问题在于,由于顶级向量元素是指针,因此需要取消对它们的引用以访问它们的内容。解除引用的最简单方法是使用->而不是,正如我前面所做的那样,但是您也可以使用一元*

了解何时使用->语法。为什么要使用指向向量的指针?“这能解决什么问题?”PaulMcKenzie我以前见过他们,我也研究过,但我在网上似乎找不到任何我能理解的解释,通过研究其他人的代码,看看什么能起什么作用,我肯定能学得更好。我推荐你。@Someprogrammerdude这与问题无关,但答案只是因为我需要更改vec1 vec2等的值,但我把它们放在一个向量中,因为我使用for循环来遍历它们。如果我能免费或在当地图书馆找到,我也会接受你的建议。我很惊讶他们仍然在制作它们,而不仅仅是在网上发布。