一个简单的问题,虽然我无法在更快的时间内找到答案。
我正在通过“new”关键字使用动态分配来为数组分配内存块,如
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()
就知道有多少项。
关于c++ - 查找动态分配数组的大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6369598/