system-verilog - uvm_component parent = null, uvm_component parent 和 uvm_component parent = "" 有什么区别?
问题描述
和有什么区别
uvm_component parent = null
,
uvm_component parent
和
uvm_component parent = " "
在构造函数中
function new(string name = " ", uvm_component )
在给定的课程中?您能否同时提供上述三个的一些示例以及解释?
解决方案
这是更一般的 SystemVerilog 问题。声明函数参数默认值允许您在不指定该参数的情况下调用函数。这对于与默认值很少不同的参数是有意义的。但是在从 派生的类的情况下uvm_component
,只有一个顶级测试组件有一个 null 父级。所有其他组件都应该提供一个实际的父级。
如果您将uvm_component parent = " "
其视为参数的默认值,那将是语法错误。不能为类句柄分配字符串。
推荐阅读
- excel - 将 Excel 导入 Access – 列标题具有特殊字符
- powershell - 如何使用 .LastWriteTime 和 (Get-Date).Month 将数据移动到新的年/月文件夹结构中
- meteor - Apollo / GraphQl - 类型必须是输入类型
- ios - Ionic 3 键盘在 ion 页脚仅 IOS 上无法正常工作
- python - 将行信息与列标题结合以创建一个变量
- c# - 多目标 NuGet 包的错误依赖解析
- c++ - PostMessage:未收到消息
- scala - Spark 结构化流中的窗口长度
- machine-learning - 强化学习是否适用于 RANDOM 环境?
- c# - EF Core:在创建新对象期间“重新获取”实体以访问 FK 对象的最优化方法是什么?