![]() |
1
2
你的例子大致正确。
new关键字将使编译器在堆上为新的测试对象分配内存。这相当于在C语言中调用malloc(size)。在没有隐式垃圾收集器的语言(如C和C++)中,您将负责稍后删除对象。 在一些短期运行的程序中,您可以不删除对象,因为在现代机器中,当您的进程退出时,进程分配的内存应该被释放。但这真的很不雅观,不应该成为你的习惯。
同样重要的是不要去想
这里,因为您没有使用new关键字或在堆上分配内存,所以编译器负责为对象分配内存,并在对象超出范围时将其删除或忘记。堆栈是实现这一点的一种普通方法,但我相信该方法在技术上依赖于编译器,并且可能存在某些特定编译器将变量存储在其他地方的情况。 |