std::extentを使うことで、for文の条件式を以下のように書くことができます。
#include <iostream> #include <type_traits> int main(void) { int a[3] = {1, 2, 3}; // std::enxtentを使用 for (size_t i = 0; i < std::extent<decltype(a)>::value; i++) { std::cout << a[i] << " "; // => "1 2 3 " } // C言語以来のクラシカルなやり方 for (size_t i = 0; i < (sizeof(a) / sizeof(a[0])); i++) { std::cout << a[i] << " "; // => "1 2 3 " } return 0; }好みにもよりますが、C言語以来のクラシカルなやり方よりも、std::extent を使用する方が、スマートであるように思います。
0 件のコメント:
コメントを投稿