なぜ自由と削除(またはコースのことは基本的なコール無料)その場合は空白の配列を解放することができます。
書き込みテストコード:
#include <入出力ストリーム> の#define N 16 使って 名前空間STDを、 int型のmain() { int型 * P =(INT *()はmalloc(はsizeof(INT)* N))。 以下のために(INT iが= 0 ; I <N; ++ I){ P [I] = I。 } フリー(P)。 リターン 0 ; }
実行とp個のメモリの場所に配置します:
ああ、という配列fdfdfdfdの前で何ですか?前にいくつかの数字はわからないが、再び存在し、再試行してください。
32へのN:
64へのN:
Nは128に変更されました:
まあ、01はフロントかもしれないと、これは新しいオープンメモリまたはヒープメモリの表示と同様に、オープン配列のサイズは何の関係も、除外していないことを示しています。図9Aは、最終的な面であり、アレイサイズの独立。
この図の残りの真ん中:
40 --- N = 16
80 --- N = 32
0001 --- N = 64
0002 --- N = 128
これは、4 4 int型を参照する必要があります。4×4 = 16
図8は8 INT、8×4 = 32を参照します
0x10の(十進数16)手段16 * 4 = 64
0x20の(十進数32)手段32 * 4 = 128
これらの値は、それを回す理由として、私は知って取得できませんでした。通常のX86は、リトルエンディアンのマシン、小数の1->六角00000001です。次にバイト逆順は、上記の図から明らかである01万人。しかしながら、上記の例は、実際にはビット単位ではなくバイトの逆の順序よりも、直接的に逆です。それについて私に言った友人についてあり、コメントすることができます。
別の知識:新しいオープン空きヒープ領域を解放することができますが、適切なデストラクタを呼び出すことはありません。だから、タイプ、無料の完了を内蔵しており、(int型、ダブル、など、同じ効果削除した場合、配列など)。あなたは自作(STLを含むだけでなく、内部またはポインタ)タイプであれば、リリースを完了することができません。