哪两种复制功能更好?
A.使用对函数参数的引用:
function void copy(ref MyClass copyme);
MyClass copyme = new this;
endfunction
Run Code Online (Sandbox Code Playgroud)
B.返回新实例化的副本:
function MyClass copy();
return new this;
endfunction
Run Code Online (Sandbox Code Playgroud)
类似A的东西是copy()的首选.使用clone()进行创建然后复制.复制和克隆通常写为
class Myclass;
int A;
function void copy(Myclass rhs)
this.A = rhs.A;
endfunction
virtual function Myclass clone();
clone = new();
clone.copy(this);
endfunction
endclass
Run Code Online (Sandbox Code Playgroud)
请注意,clone
是虚拟的,copy
是不虚.此外,您不需要将类句柄作为ref
参数传递- 类变量已经是引用.
归档时间: |
|
查看次数: |
2478 次 |
最近记录: |