I know in C++ you can get a arrays amount of rows and columns with:
int rows = sizeof array / sizeof array[0];
int cols = sizeof array[0] / sizeof array[0][0];
However is there any better way to do this?
In C++11 you can do this using template argument deduction. It seems that the extent
type_trait
already exists for this purpose:
#include <type_traits>
// ...
int rows = std::extent<decltype(array), 0>::value;
int cols = std::extent<decltype(array), 1>::value;
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With