Kotlin相当于c ++类数组

时间:2017-04-30 20:31:32

标签: c++ arrays class kotlin

我试图找到Kotlin相当于在C ++中创建一个类数组

class Widget {
public:
  int x;              
  float w; 
}

Widget data[100];

1 个答案:

答案 0 :(得分:3)

如果您声明了class Widget,则可以创建一个100 Widget的数组:

val data = Array(100) { Widget() }

Array构造函数有两个参数。第一个参数是数组的大小,第二个参数是用于创建其元素的初始化函数。在示例中,我只调用Widget的默认构造函数。

此外,如果您需要创建元素,此初始化函数会接收要创建的元素的索引。

编辑: @ Miha_x64在上面的评论中提出了一些好处,所以我也会在这里加入一些。

您还可以使用arrayOfNulls创建一个数组,而无需立即创建元素。

val nullableWidgets = arrayOfNulls<Widget>(100)

这将为您提供Array<Widget?>而不是Array<Widget>,并将所有数组元素初始化为null