多次元配列は、以下のように初期化できる
int main()
{
int a[2][2] = { 1, 2, 3, 4 } ;
// a[0][0] = 1, a[0][1] = 2, a[1][0] = 3, a[1][1] = 4
// 出力
for ( auto & i : a )
for ( auto j : i )
std::cout << j << std::endl ;
}
何故こんな機能があるのか分からない。こんな記述は、非常に分かりづらい。
気がついたら、指が自然にrange-based forを書いていた。あんなにrange-based forを嫌っていたのに、これはどうしたことか。
なぜひとつめの for では auto & であって auto でないんでしょう?
ReplyDeleteポインターではなくリファレンスにしたいからです。
ReplyDeletefor ( auto & i : x )
ReplyDeletexではなくaでは?