如果我这样做:
int da [];
...
da = new[2];
...
da = new[1];
我有内存泄漏吗?我应该这样做吗:
da.delete;
da = new[1];
相反?
最佳答案
除非您遇到工具问题,否则无需调用delete
。每当您对整个数组进行赋值时,前一个数组都会被删除。
但是,由于 SystemVerilog 具有自动内存管理功能,因此不要求何时将内存释放回操作系统。
关于system-verilog - 动态数组构造函数是否调用delete?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54913026/