一个类的数组中对象的最大数目
Maximum number of objects in an array for a class
我有这样一个类:
class tree
{
public:
int row;
int column;
};
我想为类tree
创建大约1024个对象,但如果我在tree a[90]
中将值增加到90以上,它会给出segmentation fault
:
tree a[90]; //Ok
tree a[1024]; //Segmentation fault
我们可以创建的对象数量是否有最大限制,或者是否有其他工作可以以数组的形式创建1024个对象?
号码有最大限制吗?我们可以创建的对象?
嗯,是的。这叫做堆栈限制。这取决于你的堆栈有多大。这里的堆栈大小是:
stack_size = sizeof(int) * 2 * 90
如果在您的平台上sizeof(int)
是4(通常是4),那么您有4 * 2 * 90 = 720 bytes
的堆栈,这看起来非常小。
//std::vector allocates its elements on the heap
std::vector<tree> a(1024);
如果你因为某些原因不能使用std::vector
,你仍然可以使用老派风格的动态数组(不推荐):
tree* a = new tree[1024];
相关文章:
- 使用指针从C++中的数组中获取最大值
- 使用递归的数组的最小值.这是怎么回事
- 复制几乎为空的数组的最快方法
- 通过JNI传递数据数组的最快方法是什么
- 数组中最大的非重复元素
- 讨论 - 创建矩阵时的数组与向量的向量 - 什么是最实用的选择
- 在二维数组中查找最小值和最大值?
- 遍历并行数组以确定C++中的最大数字
- 有没有办法使用递归函数找到数组中最小值的 INDEX?C++
- 如何在数组中找到最小编号的索引号?
- 如何在数组中交换最小和最大的位置?
- 遇到此问题时遇到困难:允许用户输入数组的值并使用 for,而循环也输出输入的最大数字
- 查找数组中第一个最小值和最后一个最大值元素之间的算术平均值
- 在二维向量或数组中可以存储的最大元素数是多少?
- 为什么使用数组元素查找最大数字的程序不起作用?
- 这种用于查找连续子数组中最大和的递归算法有什么优势吗?
- C++ rezing 动态数组最多可以处理一定数量的元素,但在某些时候会崩溃并显示错误 (0XC0000005)
- 堆栈或BSS或DATA段上的数组最大大小
- 如何找到数组中的最大数并用c++显示
- 确定strftime字符数组最大大小的智能方法是什么?