制作一堆数组和二维矢量数组

时间:2014-01-30 00:29:41

标签: c++ stl

我正在尝试使用STL堆栈来保存我的变量。我有两个变量声明为vector array [8] [8]和一个int数组[8] [8]。我怎么声明堆栈? 会不会像

那样
stack<vector<int>> array
stack<int>array// not really sure how to use stacks at this point.

编辑:这就是我想要做的事情:

class example
{
    private:
    vector<int> cells[8][8]//2d array of vectors, one vector for each of the 64 cells
    int table[8][8]; //table of 64 elements
    //here is what I want to implement
    stack<int,vector<int>> cells_stack;// a stack of vectors so that I can backtrack on the vectors if inputs on the table are incorrect
    stack<int> table_stack;//stack of array so that I can backtrack;
};

1 个答案:

答案 0 :(得分:0)

如果我理解正确,您希望将cellstable的内容存储在堆栈上。如果这是正确的,那么您要做的是声明您的堆栈与您要存储的对象完全相同。由于cells是类型为vector<int>的8x8数组,因此cells_stack应包含该数组。例如:

stack<vector<int>[8][8]> cells_stack; 

同样适用于table_stack,它应包含类型为int的8x8数组:

stack<int[8][8]> table_stack;