将值推入D中的数组

时间:2014-06-15 13:21:31

标签: arrays push d

是否有任何D的本机函数(如push()等)将值放入动态数组中,或者我应该将自己(有点乏味)函数写入每个类,如:

void push(myarr x)
{
   myarr[myarr.length++] = x
}

2 个答案:

答案 0 :(得分:4)

只需使用concat运算符~

void push(T)(ref T[] myarr, T x)
{
   myarr~=x
}

答案 1 :(得分:2)

是的。 D具有数组连接运算符~~=

示例:

int[] arr = [ 3, 2 ];
arr ~= 0;
std.stdio.writeln(arr); 

// Prints: [3, 2, 0]

更多相关信息:D Language Reference, Array Concatenation

如果您希望自己的类型使用这些运算符,则必须overload op assignment operators