动态数组构造函数是否调用delete?

Mat*_*lor 2 system-verilog

如果我这样做:

int da [];
...
da = new[2];
...
da = new[1];
Run Code Online (Sandbox Code Playgroud)

我有内存泄漏吗?我应该这样做:

da.delete;
da = new[1];
Run Code Online (Sandbox Code Playgroud)

代替?

dav*_*_59 5

delete除非您有工具问题,否则无需致电.无论何时作为整体对数组进行赋值,前一个数组都会被删除.

然而,由于SystemVerilog的具有自动内存管理,也没有要求内存被释放回操作系统.

  • 动态数组与类不同. (3认同)