我正在尝试使用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;
};
答案 0 :(得分:0)
如果我理解正确,您希望将cells
和table
的内容存储在堆栈上。如果这是正确的,那么您要做的是声明您的堆栈与您要存储的对象完全相同。由于cells
是类型为vector<int>
的8x8数组,因此cells_stack
应包含该数组。例如:
stack<vector<int>[8][8]> cells_stack;
同样适用于table_stack
,它应包含类型为int
的8x8数组:
stack<int[8][8]> table_stack;