21xrx.com
2025-06-18 05:55:14 Wednesday
登录
文章检索 我的文章 写文章
如何在C++类中定义动态数组
2023-07-09 01:22:36 深夜i     26     0
C++ 动态数组 定义

在C++类中定义动态数组是一个非常常见的需求。动态数组是指在程序运行时动态分配内存的数组,这种数组的大小和维度可以在代码中任意修改。本文将介绍在C++类中如何定义和使用动态数组。

在C++中,我们可以使用new操作符来动态分配内存。下面是一个简单的例子:

int* arr = new int[10];

上面的代码定义了一个大小为10的动态数组,并将其指针赋给了arr变量。动态数组分配的内存需要手动释放,否则可能会产生内存泄漏。

在类中定义动态数组与上面的例子类似。下面是一个简单的类定义,其中包含一个动态数组:

class MyClass {
public:
  MyClass(int size) {
    arr = new int[size];
    arr_size = size;
  }
  
  ~MyClass() {
    delete[] arr;
  }
  
  void printArray() {
    for(int i=0; i<arr_size; i++) {
      std::cout << arr[i] << " ";
    }
    std::cout << std::endl;
  }
  
private:
  int* arr;
  int arr_size;
};

在上面的类中,构造函数中使用了new操作符来动态分配大小为size的数组,并将其指针存储在arr成员变量中。析构函数中使用了delete[]操作符来释放数组占用的内存。

下面是一个简单的使用例子:

int main() {
  MyClass myClass(10);
  
  for(int i=0; i<10; i++) {
    myClass.arr[i] = i;
  }
  
  myClass.printArray();
  
  return 0;
}

在上面的例子中,我们创建了一个MyClass实例,将其大小设为10,并使用for循环将数组中的元素依次赋值为0~9。最后,我们调用了printArray函数,输出数组中的元素。

总结来说,在C++类中定义动态数组需要使用new操作符动态分配内存,并手动释放内存。使用动态数组可以在运行时更加灵活地创建和使用数组,解决了传统数组定义大小不灵活的问题。

  
  

评论区