C++:如何在堆栈上创建对象数组?

标签 c++ arrays stack oop

考虑以下 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/

相关文章:

java - JNI 检测到应用程序错误 : use of deleted local reference 0x1

c++ - 用于编辑文本框的 SDL

arrays - 使用不同的阈值替换多列中的值

python - 如何矢量化 3D Numpy 数组

c++ - 如何获得一堆中的特定值? (C++)

memory - 黑莓上的堆栈大小?

c++ - “does not name a type” 错误 C++

php - 如何按日期对这个数组进行排序?

ios - UIScrollView 模糊效果

c++ - cout 和 printf 中打印零的区别