fork(2) download
  1. #include <string>
  2. #include <vector>
  3. #include <iostream>
  4.  
  5. int main()
  6. {
  7. {
  8. // make a 3D vector of rank 3 x 4 x 5
  9. std::vector< std::string > vec(5) ; // vector of five strings
  10. std::vector< std::vector< std::string > > vec_2d( 4, vec ) ; // 4 x 5
  11. std::vector< std::vector< std::vector< std::string > > > vec_3d( 3, vec_2d ) ; // 3 x 4 x 5
  12.  
  13. // print sizes
  14. std::cout << "vec 3d size:" << vec_3d.size() << '\n' ;
  15. for( const auto& v2 : vec_3d )
  16. {
  17. std::cout << " vec 2d size:" << v2.size() << " [ " ;
  18. for( const auto& v : v2 ) std::cout << "vec size:" << v.size() << " " ;
  19. std::cout << "]\n" ;
  20. }
  21. }
  22.  
  23. {
  24. // make a 3D vector of rank 5 X 4 X 3
  25. std::vector< std::vector< std::vector< std::string > > > vec_3d(5) ; // 5 x 0 x 0
  26. for( auto& v2 : vec_3d )
  27. {
  28. v2.resize(4) ; // 5 x 4 x 0
  29. for( auto& v : v2 ) v.resize(3) ; // 5 x 4 x 3
  30. }
  31.  
  32.  
  33. // print sizes
  34. std::cout << "\n\nvec 3d size:" << vec_3d.size() << '\n' ;
  35. for( const auto& v2 : vec_3d )
  36. {
  37. std::cout << " vec 2d size:" << v2.size() << " [ " ;
  38. for( const auto& v : v2 ) std::cout << "vec size:" << v.size() << " " ;
  39. std::cout << "]\n" ;
  40. }
  41. }
  42.  
  43. }
  44.  
Success #stdin #stdout 0s 3436KB
stdin
Standard input is empty
stdout
vec 3d size:3
    vec 2d size:4  [ vec size:5  vec size:5  vec size:5  vec size:5  ]
    vec 2d size:4  [ vec size:5  vec size:5  vec size:5  vec size:5  ]
    vec 2d size:4  [ vec size:5  vec size:5  vec size:5  vec size:5  ]


vec 3d size:5
    vec 2d size:4  [ vec size:3  vec size:3  vec size:3  vec size:3  ]
    vec 2d size:4  [ vec size:3  vec size:3  vec size:3  vec size:3  ]
    vec 2d size:4  [ vec size:3  vec size:3  vec size:3  vec size:3  ]
    vec 2d size:4  [ vec size:3  vec size:3  vec size:3  vec size:3  ]
    vec 2d size:4  [ vec size:3  vec size:3  vec size:3  vec size:3  ]