21xrx.com
2024-11-22 02:39:31 Friday
登录
文章检索 我的文章 写文章
如何在C++类中定义动态数组
2023-07-09 01:22:36 深夜i     --     --
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操作符动态分配内存,并手动释放内存。使用动态数组可以在运行时更加灵活地创建和使用数组,解决了传统数组定义大小不灵活的问题。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复