fork download
  1. #include <iostream>
  2. #include <string>
  3. #include <memory>
  4.  
  5. int main()
  6. {
  7. const int COLS = 5 ;
  8. using row_type = std::string[COLS] ;
  9.  
  10. std::size_t rows ;
  11. std::cout << "rows? " ;
  12. std::cin >> rows ;
  13.  
  14. {
  15. row_type* array = new row_type[rows] ;
  16.  
  17. // use array
  18. for( std::size_t i = 0 ; i < rows ; ++i )
  19. for( std::size_t j = 0 ; j < COLS ; ++j )
  20. array[i][j] = "hello" ;
  21.  
  22. for( std::size_t i = 0 ; i < rows ; ++i )
  23. {
  24. for( std::size_t j = 0 ; j < COLS ; ++j )
  25. std::cout << array[i][j] << ' ' ;
  26. std::cout << '\n' ;
  27. }
  28.  
  29. delete[] array ;
  30. }
  31.  
  32. // better
  33. {
  34. std::unique_ptr< row_type[] > array( new row_type[rows] ) ;
  35.  
  36. // use array
  37. for( std::size_t i = 0 ; i < rows ; ++i )
  38. for( std::size_t j = 0 ; j < COLS ; ++j )
  39. array[i][j] = "bonjour" ;
  40.  
  41. for( std::size_t i = 0 ; i < rows ; ++i )
  42. {
  43. for( std::size_t j = 0 ; j < COLS ; ++j )
  44. std::cout << array[i][j] << ' ' ;
  45. std::cout << '\n' ;
  46. }
  47. }
  48. }
  49.  
Success #stdin #stdout 0s 3476KB
stdin
3
stdout
rows? hello hello hello hello hello 
hello hello hello hello hello 
hello hello hello hello hello 
bonjour bonjour bonjour bonjour bonjour 
bonjour bonjour bonjour bonjour bonjour 
bonjour bonjour bonjour bonjour bonjour