new[ ]
一般情况下new[ ]是用来开辟内存并且初始化的,主要用于设置动态数组大小。
new()
创建对象;transaction tr; tr=new(); transaction tr =new(); 两种方法
创建对象开辟了新的内存空间,可以存放新的成员变量和方法,构建函数new()是系统预预定函数,不需要指定返回值,函数会隐式的返回例化后的对象指针,构建函数可以定义多个参数作为初始化时外部传入数值的手段。
但是疑惑的地方不在这,是使用new函数的时候后面加不加括号有什么不同的影响么?
class generator;
int tr_num; //定义了要发送的激励的数量(不同的testcase发送的激励命令数量不一样)
transaction tr; //产生对象tr(tr的产生由顶层testcase告知)
mailbox mbx=new();
function generator::build();
tr = new; //对象tr实例化,分配空间
if(!tr.randomize())begin //随机化transaction中的数据
$display("@%0t ERROR::generator::build randomize failed",$time);
end
endfunction
暂且搁置。