多次元配列は、以下のように初期化できる
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では?