哪两种复制功能更好?
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 次 |
| 最近记录: |