我有一个 Bullet 类,它的构造需要几个参数。但是,我使用动态内存阵列来存储它们。我正在使用 C++,所以我想通过使用 new 运算符来分配内存来符合它的标准。问题是当我分配数组时,new 运算符要求构造函数参数,而当时我没有。我可以使用 malloc 来获得正确的大小,然后在那里填写表格来完成此操作,但这不是我想要使用的:)有什么想法吗?
pBulletArray = (Bullet*) malloc(iBulletArraySize * sizeof(Bullet)); // Works
pBulletArray = new Bullet[iBulletArraySize]; // Requires constructor arguments
Thanks.
你不能。
如果你真的想符合 C++ 标准,你应该使用std::vector
.
仅供参考,它可能比您想要实现的目标还要昂贵。如果你能做到这一点,new
会调用构造函数。但由于无论如何您稍后都会修改该对象,因此初始构造是无用的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)