Here is an example of various dimensions of vectors in case anyone out there cares. I know when I was starting out it was a pain to find how to give initial values to multidimension vectors as I couldn't find any examples;
// This simple project demonstrates a single vector, a 2D vector, a 3D vector and a 4D vector in C++ // #include <iostream> #include <vector> using namespace std; int main () { vector<int> myVector = { 0,1,2,3,4,5,6 }; vector<vector<int>> my2dVector = { {1,2,3,4,5},{6,7,8,9,10},{11,12,13,14,15},{16,17,18,19,20},{21,22,23,24,25},{0,-1,-2,-3,-4},{-6,7,22,-15,-25},{true,true,false,true,false} }; vector < vector < vector<int>>> my3dVector = { { {1,2,3}, {4,5,6}, // plane 0 {7,8,9} }, { {-1,-2,-3}, {-4,-5,-6}, // plane 1 {-10,-22,36} }, { {129,212,999}, {0,0,1}, // plane 2 {false,true,false} } }; vector<vector<vector<vector<int>>>> my4dVector = { { //Cube 0 { {1,2,3}, {4,5,6}, // plane 0 {7,8,9} }, { {-1,-2,-3}, {-4,-5,-6}, // plane 1 {-10,-22,36} }, { {129,212,999}, {0,0,1}, // plane 2 {false,true,false} } }, { //Cube 1 { {10,2,-9}, {44,55,60}, // plane 0 {71,85,99} }, { {-561,-6562,-453}, {-14,-55,-76}, // plane 1 {-110,-212,316} }, { {729,812,456}, {40,10,17}, // plane 2 {true,true,false} } } }; // 1D VECTOR.............. cout << "This is a 1D vector of size " << myVector.size () << "\n"; for (int i = 0; i < myVector.size (); i++) { cout << myVector[i] << "\t"; } cout << "\n\n"; // 2D VECTOR.............. cout << "This is a 2D vector of size " << my2dVector.size () << " X " << my2dVector[0].size () << "."; if (my2dVector.size () == my2dVector[0].size ()) cout << " This is a square matrix."; cout << "\n "; for (int i = 0; i < my2dVector[0].size (); i++) { cout << "C" << i << "\t"; } cout << endl; for (int i = 0; i < my2dVector.size (); i++) { cout << "Row: " << i << " -> "; for (int j = 0; j < my2dVector[i].size (); j++) { if (my2dVector[i][j] >= 0 && my2dVector[i][j] <= 9) cout << " "; cout << my2dVector[i][j] << "\t"; } cout << endl; } cout << "\n\n"; // 3D VECTOR................. cout << "This is a 3D vector of size " << my3dVector[0].size () << " X " << my3dVector[0][0].size () << " with " << my3dVector.size () << " planes.\n"; for (int i = 0; i < my3dVector.size (); i++) { cout << "Plane #" << i << "\n"; for (int j = 0; j < my3dVector[i].size (); j++) { for (int k = 0; k < my3dVector[i][j].size (); k++) { cout << my3dVector[i][j][k] << "\t"; } cout << "\n"; } } cout << "\n\n"; //4D VECTOR................. cout << "This is a 4D vector of size " << my4dVector[0][0].size () << " X " << my4dVector[0][0][0].size () << " with " << my4dVector[0].size () << " planes and " << my4dVector.size () << " cubes.\n"; for (int i = 0; i < my4dVector.size (); i++) { cout << "\nCUBE #"<< i<< " _________________\n"; for (int j = 0; j < my4dVector[i].size (); j++) { cout << "Plane #" << j << " |\n"; for (int k = 0; k < my4dVector[i][j].size (); k++) { for (int l = 0; l < my4dVector[i][j][k].size (); l++) { cout << my4dVector[i][j][k][l] << "\t"; } cout << "|\n"; } cout << "________________________|\n"; } cout << "\n"; } }
std::vector<>s may not be what you're looking for.std::array<std::array<std::array<std::string, DIM3>, DIM2>, DIM1>?