首页 > 解决方案 > 存储指向整数向量向量元素的指针向量

问题描述

如果我说std::vector<std::vector<int>> test_vofv存储整数向量的向量。

我现在想将指向各种元素的指针(我的意思是外部向量 ie test_vofv[0], test_vofv[1])存储在一个单独的向量 iestd::vector<pointer> vector_of_pointers中。

“指针”类型实际上应该是什么?设置它std::vector<std::vector<int>>*是不正确的。

标签: c++vectorstdvector

解决方案


将其设置std::vector<std::vector<int>>*为不正确,因为这将声明一个指向整数向量向量的指针。指针类型从右到左读取。

你想要的是一个指针向量。这意味着一个声明,比如std::vector<something*>你想要指向的东西。在您的情况下,指向整数向量的指针向量是std::vector<std::vector<int>*> vector_of_pointers. 您首先读取外部向量,然后读取内部指针,然后读取指针指向的任何内容。


推荐阅读