重複の可能性:
2D配列を連続した1D配列として扱うことはできますか?
次のコードを検討してください。
int array2d[10][10];
int *array1d = array2d[0];
動作しない実装について聞いたことがありませんが、をarray2d
介してアクセスして操作することは合法array1d
ですか?標準のどのセクションでこれが許可されていますか?標準には、実装が各第2レベルの配列の間に余分なスペースを挿入したりパディングしたりすることを妨げるものがありますか(必要ではありませんが、それでも)?
ボーナス質問:またはCスタイルのものを必要としないarray2d
としてアクセスする方法はありますか?int[100]
reinterpret_cast