ジャンキー日記

ちゃらんぽらんな人間の初ブログですw

覚えたことまとめ - (New)

今回はNew(インスタンス)について書こうと思います。

 

これはプログラミングを初めてすぐ詰まってしばらく解決できなかったうちの1つです。

 

よく下のように記載しますが、これは実際分解することができるので分解していきます。

> sample a = new sample();

 

まずはクラス変数の定義です。

> sample a;

これで変数の定義は完了です。ただこの状態だとまだ使用できません。

 

次にインスタンスの作成です。

> a = new sample();

これでインスタンスが作成できたので使用することができます。

 

このインスタンスを行わないと「未割り当てのローカル変数'○○'が使用されました。」とエラーメッセージが表示されます。

 

ただ必ず必要になるものではありません。

string や int に関してはnewする必要はありません。

 

そもそもnewをなぜするかというと、

メモリの確保をする必要があるためです。

new することでメモリの確保ができますが、

string や int などは頻繁に使う・・・というか必ずと言っていいほど利用するので、

既にVisualstudio?Framework?でメモリの確保がされているため

わざわざメモリの確保をする必要がないため、new する必要がないのです。

 

なので新しく作ったclassや、list<T>のように

あくまで定義されているが細かい設定ができるオブジェクトに対しては

new する必要があります。

 

覚えたての人はこの話を読んでも分からないと思うので、

string等以外はnewする、

「未割り当てのローカル変数~~」というエラーが出た場合は、

new を忘れているのでは?ぐらいの認識で問題ないと思う。

 

今回はここらへんで終わりにしようと思います。

 

終了!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!