推荐答案
测试一下
题目
下列不属于动态数组内建函数的是
A. new []
B. delete ()
C. length ()
D. sizet ()
参考答案与知识点
参考答案
正确选项为 D。在 SystemVerilog 中,动态数组是一类大小可变的数组,其内建方法包括:new[](用于分配或调整数组大小)、delete()(释放数组内存)、size()(返回数组当前元素个数)。本题四个选项中:A.new[] 是合法的内建方法;B.delete() 也是合法方法;C.length() 并非 SystemVerilog 动态数组的内建方法,实际上动态数组使用 size() 获取长度,length() 是某些其他语言(如 Verilog HDL 中的 $length 系统函数或 Perl 中的函数)中的概念,在 SystemVerilog 动态数组中并不存在;D.sizet() 明显拼写错误,且不是任何标准的内建方法。由于题目要求选出“不属于”内建函数的一项,而 length() 和 sizet() 均不属于,但作为单选题,通常以最明显错误为准,即 sizet() 是纯粹的无意义函数名,而 length() 有时会被误认为有效(例如在早期的某些非标准扩展中),但严格来说两者都不是。然而,根据常见笔试真题和官方标准,动态数组仅有 new[]、delete()、size() 三个内建方法,故 D 为正确答案。易错点:考生容易将 size() 误写为 sizet(),或将队列的 size() 与 length() 混淆;需牢记 SystemVerilog 的动态数组方法命名规范。
涉及知识点
- 动态数组内建方法:new[]
- 动态数组内建方法:delete()
- 动态数组内建方法:size()
- 区分 size() 与 length() 的用法
- SystemVerilog 数组类型的方法差异