我想创建一个向量,在这个向量的每个单元格中,我想保留另一个向量,它将包含我定义的某个结构。我该怎么做? 我是否应该从主矢量中的每个单元格到每个其他矢量(包含我定义的结构)定义一个指针?我应该使用指针访问创建向量的内存吗?
这就是我想到的方法,但老实说我不确定我在做什么:
vector<*vector> *vec = new vector<vector>
注意:我是C ++的初学者,也是一般的编程新手,所以在这一个问题上对我很轻松。
非常感谢
答案 0 :(得分:4)
一般规则是不要使用指针(和动态分配),除非你需要。所以你可以这样做:
std::vector<std::vector<your_struct> > vector_of_vectors;
答案 1 :(得分:1)
就像你实例化任何东西的载体一样:
std::vector<std::vector<MyType>> v;
指针与它无关。当且仅当您需要指针向量时,才使用指针向量。
答案 2 :(得分:1)
您不需要指针,只需使用
即可std::vector<std::vector<int>> vec( 100 ); // create a vector of 100 vector<int>
vec[42].push_back(1764); // add an element to the 43rd vector<int>