📜  c++ 动态数组 - C++ (1)

📅  最后修改于: 2023-12-03 15:13:59.558000             🧑  作者: Mango

C++ 动态数组

在 C++ 中,动态数组允许程序员在运行时动态分配内存以存储数组元素。使用动态数组可以灵活地处理不确定大小的数据集合,而不需要提前指定数组大小。

创建动态数组

在 C++ 中,使用 new 关键字可以动态创建一个数组。

int* dynamicArray = new int[10];

上述代码将在堆内存中分配了一个包含 10 个整数的动态数组,每个整数占用 4 个字节的内存空间。该数组可以通过 dynamicArray 指针进行访问。

访问动态数组元素

动态数组是通过指针进行访问的。可以使用索引运算符 [] 来访问特定位置的数组元素。

dynamicArray[0] = 42;
int x = dynamicArray[0];

上述代码将给数组的第一个元素赋值为 42,并将其值赋给变量 x

动态数组的长度

动态数组的长度在运行时是可变的。可以使用数组类的成员函数 size() 来获取数组的长度。

int arrayLength = sizeof(dynamicArray) / sizeof(int);

上述代码将通过计算数组的总字节大小除以每个元素的字节数来获取数组长度。请注意,虽然这种方法对于静态数组是有效的,但对于动态数组是无效的。

释放动态数组

在使用完动态数组后,应该释放动态分配的内存,以避免内存泄漏。对应于 new 关键字的是 delete 关键字。

delete[] dynamicArray;

上述代码将释放动态数组占用的内存。

注意事项
  • 动态数组分配的内存需要手动释放,否则会造成内存泄漏。
  • 动态数组的长度可以根据需要进行调整,但调整大小时需要拷贝数据到新的内存空间,因此可能会很慢。
  • 删除数组后,对其访问会导致未定义的行为,因此在释放后应避免对其进行引用。

通过以上介绍,你应该掌握了在 C++ 中使用动态数组的基础知识。动态数组是程序开发中很常用的工具,可以方便地处理动态大小的数据集合。记得要合理管理动态分配的内存,以避免内存泄漏和潜在的问题。