Joh*_*n_C 7 arrays constructor d dynamic-arrays
在使用new分配数组时如何调用构造函数?
例如,在下面的代码中,如何为A的每个实例化调用构造函数,将b的所有10个元素初始化为5?
void main() {
A[] a = new A[10];
}
class A {
int b;
this(int init) {
b = init;
}
}
Run Code Online (Sandbox Code Playgroud)
我猜这不可能,但我希望......
rat*_*eak 11
一个简单的循环应该做(并且它是最可读的)
foreach(ref el;a){
el=new A(5);
}
Run Code Online (Sandbox Code Playgroud)
或者你可以使用数组初始化器:
A[] a=[new A(5),new A(5),new A(5),new A(5),new A(5),
new A(5),new A(5),new A(5),new A(5),new A(5)];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
272 次 |
| 最近记录: |