不,因为在scene完全定义之前,编译器不知道它有多大,并且不知道制作数组的大小.
但是,你可以有数组的指针来scene,因为指针(不计指针成员和其他古怪-感谢纳瓦兹)都是一样的尺寸:
class scene {
scene* array[20];
};
Run Code Online (Sandbox Code Playgroud)
或者,您可以存储指向分配给new[]和取消分配的动态数组的指针delete[]:
class scene {
scene() : array(new scene[20]) { }
~scene() { delete[] array; }
scene* array;
};
Run Code Online (Sandbox Code Playgroud)
或甚至更可替代地,存储vector<scene>,一个vector的sceneS:
class scene {
vector<scene> array;
};
Run Code Online (Sandbox Code Playgroud)
并且vector,你得到一个可调整大小的数组,没有手动内存管理.
| 归档时间: |
|
| 查看次数: |
91 次 |
| 最近记录: |