スレを勃てるまでもないC/C++の質問はここで 6
■ このスレッドは過去ログ倉庫に格納されています
0492デフォルトの名無しさん
2009/01/20(火) 23:51:42二次元配列の作り方には主に3つある。
その中の1つが、そのサイトにある方法。
そのサイトにある方法は a[i][j] のように扱う事ができる代わりに、
二次元配列全体が連続領域にならないという欠点があるため、
bitmap を作る際に使う事はできない。
もう1つは一次元配列を二次元配列であるかのように使う方法。
この方法はさらに2つに分けられる。
1つは、a[i][j] のように使う事を諦め、a[i * width + j] のように扱う方法。
もう1つは、a[i * width] のアドレスを全て格納した b を作って b[i][j] のように扱う方法。
前者はメモリを食わない代わりに扱い辛い。
後者はメモリを食う代わりに扱いやすい。
bitmap のように連続領域を必要とする場合はこっちの方法を使う必要がある。
あと、bitmap の場合、幅のバイト数が4の倍数に満たない場合は
詰め物をして4の倍数にする必要もあるので注意な。
■ このスレッドは過去ログ倉庫に格納されています