【发布时间】:2012-04-26 21:58:48
【问题描述】:
为什么 C++ 以这样的方式创建,如果你有一个类 A 并且你声明了一个类型为 A 的数组,那么整个数组就会被用该类的默认构造函数实例化的对象填充?
【问题讨论】:
-
鼓励您使用
std::vector;) -
为了扭转这个问题,有什么替代方案?如果声明一个对象数组没有实例化它们,那么你将如何手动实例化它们?你需要使用placement new来做吗?看起来这不是很容易出错吗?鉴于需要在使用对象之前对其进行实例化,那么自动执行它对我来说似乎是最好的解决方案。如上所述,如果您更愿意根据需要执行此操作,请使用类似矢量的容器而不是静态数组。