如何找到我的阵列使用的内存
How can I find the memory used by my array
我看到过以不同的形式问这个问题,我一直在阅读它,但我仍然对如何找到使用的内存感到困惑。我有一个数组,它被指针指向,值 *ptr = 数组中的元素数。我需要数组及其元素的总大小(它是一个 short int 数组,总共有 14 个元素(。我对如何获取数组使用的内存值+元素使用的内存感到困惑,我是否只使用大小然后添加两者。这就是我不断遇到问题的地方。有人可以指出我正确的方向吗?
要获得数组的大小(以字节为单位(,您必须使用 sizeof(short int) * number_of_elements
计算它,其中number_of_elements
为 14。
代替原始数组,例如int ar[4],使用来自<array>
的std::array。这样的数组为调试模式提供边界检查,并且与原始数组不同,可以很容易地复制并用作函数的参数。它还提供了一个 size(( 方法。
相关文章:
- 为什么我能够为阵列分配比计算机实际拥有的内存更多的内存
- 为什么删除分配的阵列会导致内存错误?
- 保护类内存阵列以检测分段错误
- 解除分配此特定 2D 阵列的内存
- 内存中的阵列存储
- 内存C++复制是否将内存地址复制到另一个阵列
- 通过"Value Template Argument"与常规阵列在堆栈中分配内存
- OPENCL-如何使辅助功能返回阵列并将内存的部分从恒定内存空间转移到私有
- 动态3维阵列中的内存泄漏
- 复制到新阵列时出现动态内存分配问题
- C++ 清除动态阵列中的内存 - 内存无法清除
- 访问字符阵列中不可用的内存位置(超出范围值)
- 内存堆,动态设置阵列
- 相邻阵列的内存分配
- 如何找到我的阵列使用的内存
- 如何将内存映像分配给DLIB阵列2d或映像
- 动态内存阵列/程序崩溃
- visual C++新与Malloc的对象动态内存阵列
- 需要一个代码来动态分配 >1GB 内存阵列在 Visual Studio C++
- "delete [] pointer"不删除所有内存阵列?