0
一个简单的问题,尽管我无法在更快的时间内找到一个问题。查找动态分配数组的大小
我使用过的内存用于数组chunck分配“新”的关键字动态分配,
int *array = new int[size]; //The Size is got by some logic
现在的逻辑从长远来看,我需要解析这个数组这样我需要得到/计算这个数组的大小。
我在这里无能为力。请帮助我。
感谢提前:)
一个简单的问题,尽管我无法在更快的时间内找到一个问题。查找动态分配数组的大小
我使用过的内存用于数组chunck分配“新”的关键字动态分配,
int *array = new int[size]; //The Size is got by some logic
现在的逻辑从长远来看,我需要解析这个数组这样我需要得到/计算这个数组的大小。
我在这里无能为力。请帮助我。
感谢提前:)
你需要保持分配大小在一个单独的可变知道它是什么,你正在与new
完成后。
在光明的一面 - C++为您提供了一个名为std::vector
的工具,它可以在不使用new
的情况下为您解决问题并保持大小(并且不受大小的限制)。
所以如果你需要预先分配的大小,你可以使用:
vector<int> array(size);
但通常你只需要声明
vector<int> array;
,然后去和填充它,并查询array.size()
知道有多少物品。
这是真的不清楚你要求什么。如何计算大小的值?这取决于我们有更多的上下文。 – Elemental 2011-06-16 09:24:42
我正在寻找一些逻辑或方法来获得数组的大小,没有它可以容纳的元素。 – 2011-06-16 09:29:04
可能的重复[有什么方法可以通过编程来确定C++数组的大小吗?如果没有,为什么?](http://stackoverflow.com/questions/197839/is-there-any-way-to-determine-the-size-of-a-c-array-programmatically-and-if-no) – 2011-06-16 09:45:10