考虑以下 Java 代码。
int N = 10;
Object obj[] = new Object[N];
for (int i = 0; i < N; i++) {
int capacity = 1000 * i;
obj[i] = new ArrayList(capacity);
}
因为在Java中,所有的对象都存在于Heap中,数组不存在 包含对象本身,但包含对对象的引用。还, 数组本身也是一个对象,因此它存在于堆中。
C++ 中的等价物是什么,但保留数组和对象 堆栈,尽可能避免需要 new 和 delete ?
编辑:更改代码以使用自定义构造函数。
最佳答案
简单声明
Object array_of_objects[10];
在 C++ 中,在堆栈上创建 10 个 Object 类型的默认构造对象。
如果您想使用非默认构造函数,那在 C++ 中就没那么容易了。可能有一种新的放置方式,但我无法立即告诉你。
编辑:链接到 StackOverflow 上的其他问题 this question 的回答中解释了如何为数组使用新放置。在 StackOverflow 上。
关于C++:如何在堆栈上创建对象数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/320506/