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