SystemVerilog中动态数组的一个小问题
在看SV绿皮书使,看到这个表达式dyn = new[20](dyn)
一时间不知道这个怎么理解,翻看SV的语言手册时发现,new操作符遵从SV的优先规则,该表达式中[]和()具有相同的优先规则,所以按照从左到右的计算顺序,首先是创建一个有20个元素的数组dyn,再将原来的dyn的数组的元素复制到里面去,可以理解为改变了dyn数组的大小,但是保留以前的值。可以猜测到,如果新dyn数组的大小比之前的小,那么复制进去的值也只能与之相匹配
在看SV绿皮书使,看到这个表达式dyn = new[20](dyn)
一时间不知道这个怎么理解,翻看SV的语言手册时发现,new操作符遵从SV的优先规则,该表达式中[]和()具有相同的优先规则,所以按照从左到右的计算顺序,首先是创建一个有20个元素的数组dyn,再将原来的dyn的数组的元素复制到里面去,可以理解为改变了dyn数组的大小,但是保留以前的值。可以猜测到,如果新dyn数组的大小比之前的小,那么复制进去的值也只能与之相匹配