C++ c+的Kotlin当量+;类数组
我试图找到Kotlin在C中创建类数组的等效方法++C++ c+的Kotlin当量+;类数组,c++,arrays,class,kotlin,C++,Arrays,Class,Kotlin,我试图找到Kotlin在C中创建类数组的等效方法++ class Widget { public: int x; float w; } Widget data[100]; 如果声明了一个类小部件,则可以创建一个包含100个小部件的数组,如下所示: val data = Array(100) { Widget() } 数组构造函数接受两个参数。第一个参数是数组的大小,第二个参数是用于创建其元素的初始化函数。在本例中,我只调用小部件的默认构造函数 此外,如
class Widget {
public:
int x;
float w;
}
Widget data[100];
如果声明了一个
类小部件
,则可以创建一个包含100个小部件
的数组,如下所示:
val data = Array(100) { Widget() }
数组
构造函数接受两个参数。第一个参数是数组的大小,第二个参数是用于创建其元素的初始化函数。在本例中,我只调用小部件的默认构造函数
此外,如果您需要创建元素,此初始化函数将作为参数接收正在创建的元素的索引
编辑:@Miha_x64在上面的评论中提出了一些好的观点,因此我将在这里也包括一些
您还可以使用arrayOfNulls
创建数组,而无需创建要立即放入其中的元素
val nullableWidgets = arrayOfNulls<Widget>(100)
val nullableWidgets=arrayOfNulls(100)
这将为您提供一个数组
而不是数组
,并将该数组的所有元素初始化为null
如果您声明了一个类小部件
,您可以创建一个包含100个小部件
的数组,如下所示:
val data = Array(100) { Widget() }
数组
构造函数接受两个参数。第一个参数是数组的大小,第二个参数是用于创建其元素的初始化函数。在本例中,我只调用小部件的默认构造函数
此外,如果您需要创建元素,此初始化函数将作为参数接收正在创建的元素的索引
编辑:@Miha_x64在上面的评论中提出了一些好的观点,因此我将在这里也包括一些
您还可以使用arrayOfNulls
创建数组,而无需创建要立即放入其中的元素
val nullableWidgets = arrayOfNulls<Widget>(100)
val nullableWidgets=arrayOfNulls(100)
这将为您提供一个Array
而不是Array
,并将数组的所有元素初始化为null
,这是对那些了解C/C++并想学习Java/Kotlin的人的一个提示。在Java和Kotlin中,不能只声明一个变量,必须显式地初始化它,例如。g<代码>小部件或Kotlin中的val widget:widget
不会创建新的widget,widget widget=new widget()
或val小部件:widget=widget()。类似地,val-data:Array
只是一个变量,val-data:Array=Array(100){Widget()}
是一个数组初始化,因为数组也是对象,行为相同。另外,Kotlin相当于Java的新事物[x]
是arrayOfNulls(x)
。这是给那些了解C/C++并想学习Java/Kotlin的人的一个提示。在Java和Kotlin中,不能只声明一个变量,必须显式地初始化它,例如。g<代码>小部件或Kotlin中的val widget:widget
不会创建新的widget,widget widget=new widget()
或val小部件:widget=widget()。类似地,val-data:Array
只是一个变量,val-data:Array=Array(100){Widget()}
是一个数组初始化,因为数组也是对象,行为相同。同样,Kotlin相当于Java的新事物[x]
是arrayOfNulls(x)
。