2
以下代码(第二行)的含义是什么,其中内部类uvm_resource_pool定义,实例(对象)rp被创建?在类的endclass定义中,类的对象是什么意思?
class uvm_resource_pool;
static local uvm_resource_pool rp = get();
// Function: get
//
// Returns the singleton handle to the resource pool
static function uvm_resource_pool get();
if(rp == null)
rp = new();
return rp;
endfunction
是的,我明白静态方法的重要性,它确保只创建第一个时间对象,然后在同一个对象上进行引用。 但我的问题是如何一个对象(uvm_resource_pool rp)可以创建它自己的类定义? – 2014-12-07 04:09:01
意味着编译rp时,编译器将如何知道uvm_resource_pool包含什么,因为它尚未完全编译类定义? – 2014-12-07 04:19:58
所有的编译器需要知道的是''uvm_resource_pool'是一种声明'rp'的类型,它确实知道这是因为编译器已经看到'class uvm_resource_pool'。这工作就像一个前锋typedef会。记住'rp'是一个类变量,它将保存对一个对象的引用,它本身不是一个对象。 – 2014-12-07 05:34:42