一个简单的问题,虽然我无法在更快的时间内找到答案。
我通过'new'关键字使用动态分配来为数组分配内存块,如
int *array = new int[size]; //The Size is got by some logic
现在从逻辑的长远来看,我需要解析这个数组,以便我需要得到/计算这个数组的大小。
我在这里毫无头绪。请帮帮我。
提前致谢:)
答案 0 :(得分:8)
您需要将分配大小保存在单独的变量中,以便在完成new
后知道它是什么。
好的一面--C ++为您提供了一个名为std::vector
的工具,可以在不使用new
并保持大小(并且不受大小限制)的情况下为您解决问题。
因此,如果您需要预先分配可以使用的大小:
vector<int> array(size);
但通常你只是声明
vector<int> array;
然后继续填写,并查询array.size()
以了解有多少项目。