VBの変数など
VB2005を使っていくうちに、デリゲートやジェネリックなど微妙にポインタを意識させられます。
そこで、重要なのが値型と参照型でありスタックとヒープです。
MSDNに非常にわかりやすく説明されているので、詳しくは「3-3 配列」を参照。
値型と参照型
それ自身のメモリに実体を保持する場合、値型といいます。また、実体の入ったメモリのアドレスを保持する場合、参照型といいます。VB2005では、数値型やBoolean、char、Date、構造体、列挙型などが値型になります。
参照型には、String、クラス、デリゲートなどがあります。
スタックとヒープ
.NET FrameworkのCLRは、データを格納するメモリ上の領域として「スタック」と「ヒープ」を利用しています。
ローカル変数を使用する場合、スタックに領域が確保されスコープを抜けると解放されます。Newキーワードを使用する場合ヒープ領域にメモリが確保されます。MFCなどを使用していた場合、以前はNewしたものはDeleteしなければならなかったのですが、CLRではメモリの解放をガベージコレクタが行ってくれます。