当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《C++:如何在堆栈上创建对象数组?》经验,为你挑选了1个好方法。

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

编辑:更改代码以使用自定义构造函数.



1> Joris Timmer..:

简单地宣布

Object array_of_objects[10];

在C++中,在堆栈上创建10个类型为Object的默认构造对象.

如果你想使用非默认的构造函数,那么在C++中就不那么容易了.可能有一种新的放置方式,但我不能告诉你我的头脑.

编辑:链接到StackOverflow上的其他问题 如何使用新的数组位置在StackOverflow的这个问题的答案中解释.

推荐阅读
牛尾巴2010
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有