我需要动态创建对象,并希望使用向量来做到这一点。我知道指向对象的指针将存储在向量中,它们将是连续的,但实际的对象不会。我可以按Create objects in pre-allocated memory中给出的那样做。但是,我更喜欢使用矢量。我有什么方法可以这样做吗?
答案 0 :(得分:1)
“我需要动态创建对象”
您真的确定需要动态分配吗?如果可能,请使用对象向量:
std::vector<T> myObjects(100);
这会分配单个内存块,足以容纳100个T
实例,并使用默认构造函数初始化它们。
答案 1 :(得分:0)
创建向量时使用自定义分配器。您的分配器可以按您需要的方式预分配内存。