我理解为特定类重载新运算符的基础知识.但是,有一点我不明白它是否可能.说我有这样一个类:
class X{ int a; long b; float c; }
我希望在程序的最开始预先创建100个X对象.我想调用new运算符一次,分配(至少)(4 + 4 + 4?)x 100 = 1200字节.然后,无论何时X::new()
调用,而不是new()
(or malloc()
)被调用,我将返回一个X
对象的空"shell" 然后a
,b
并c
简单地分配给数据成员.
我该怎么做呢?强调我的问题是,当我为100个X对象保留1200个字节时,内存只取自内核一次.在我的程序开始之后,我想在检索X对象"shell"时执行最低限度的操作?