Spl*_*lit 1 c++ arrays pointers
目前我有几个类,其数组定义为'float myIDs'.我想将变量移动到我的父类中并将其更改为指针('float*myIDs').
目前我正在宣布其价值如下:
float myIDs[] = {
//Variables
};
Run Code Online (Sandbox Code Playgroud)
由于它现在是一个指针,我认为它将大致相同:
myIDs = new float[] = {
};
Run Code Online (Sandbox Code Playgroud)
但这似乎并没有起作用.我不知道如何解决这个问题,因为我以前从未必须像这样声明一个指针数组.
有人可以帮我吗?
谢谢
请注意,您没有分配指针数组而只是一个float数组,所以基本上两个数组的类型相同,它们不会存储在同一个内存空间中.
只能以这种方式初始化静态分配的数组,动态分配的数组不能初始化为零以外的任何值.
myIDs = new float[]();
Run Code Online (Sandbox Code Playgroud)
但是,如果您知道要放入数组的元素,则无需动态分配它们.
如果要分配指针数组,则必须执行以下操作:
float* myIDs[size]; // statically
float** myIDs = new float*[size]; // dynamically
Run Code Online (Sandbox Code Playgroud)
但只有静态分配的(第一个)可以按照你描述的方式初始化,当然,它必须用指针初始化.