倩倩之美~

导航

new()和new[]有什么区别?

new()和new[]有什么区别?

1、new[]的使用较为简单,一般用来开辟内存并初始化,常用于设置动态数组的大小。

int a[]; //声明动态数组
initial begin
a = new[3]; //为动态数组分配3个元素
foreach (a[i]) a[i] = i; //元素初始化
end

2、new()用在systemverilog中OOP的构造函数;
构造函数除了分配内存外,还初始化变量,在默认情况下,将变量设置成默认的数值,二值变量为0, 四值变量为x, 也可以通过自定义的new函数将变量设置成你想要的数值;

class Transaction;
logic[3:0] addr;
logic[9:0] data;
int dyn[];
function new;
addr = 8;
data = 1;
endfunction : new
endclass
Transaction tr; //声明一个句柄
tr = new(); //创建对象

posted on 2025-06-19 18:01  爱开发的倩倩  阅读(20)  评论(0)    收藏  举报