是的,在使用 new 分配存储空间后,必须使用 delete 释放。这是因为 new 操作会在堆上分配内存,而不是在栈上。如果不使用 delete 释放内存,可能会导致内存泄漏。即程序运行结束后,内存仍然被程序占用,导致系统资源浪费。
然而,在你实际测试中没有发现错误是因为编译器可能会在程序结束时自动释放未释放的内存,但这不是可靠的做法,因为它可能在其他系统中不会有这样的情况。
是的,在使用 new 分配存储空间后,必须使用 delete 释放。这是因为 new 操作会在堆上分配内存,而不是在栈上。如果不使用 delete 释放内存,可能会导致内存泄漏。即程序运行结束后,内存仍然被程序占用,导致系统资源浪费。
然而,在你实际测试中没有发现错误是因为编译器可能会在程序结束时自动释放未释放的内存,但这不是可靠的做法,因为它可能在其他系统中不会有这样的情况。