Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
C# コンパイラを使用すると、次のように記述できます。
int k=new Int32();
ただし、値を割り当てることはできません。
2つの質問
1)newヒープ割り当てを作成しません。もしそうなら、スタック<->値のことはどうですか?
new
2) どうしようもないint k=new Int32();。どのようなシナリオで使用しますか?
すべての構造体(およびint / Int32は構造体)はnew()の使用を許可します。これは、構造体をデフォルト値、つまり構造体のすべてのフィールドでゼロに初期化することを意味します。ほとんどの構造体は不変です-そしてプリミティブは確かに不変です。基本的に、あなたが書いたものは次のものと同じです:
int k=0;
これで多くのことができます。しかし、ゼロのプロパティを変更することはできません。ゼロはゼロですゼロはゼロです。
new必ずしも「ヒープに割り当てる」という意味ではありません。