在C++中用new创建对象数组并举几个例子(中文回答)
时间: 2024-09-11 10:03:19 浏览: 50
在C++中,使用`new`操作符可以动态地创建对象数组。这种方式通常用于在堆上分配内存,而不是在栈上。当使用`new`创建数组时,需要指定数组的元素类型以及元素的数量,返回的是指向数组第一个元素的指针。
以下是一些使用`new`创建对象数组的例子:
1. 创建基本类型的数组:
```cpp
int* arr = new int[5]; // 创建一个包含5个整数的数组
```
2. 创建类对象的数组:
```cpp
class MyClass {
public:
MyClass(int value) : value_(value) {}
private:
int value_;
};
// 创建一个包含5个MyClass对象的数组
MyClass* objArray = new MyClass[5];
```
3. 使用构造函数初始化对象数组:
```cpp
// 假设MyClass有一个接受整数参数的构造函数
MyClass* objArray = new MyClass[5](10); // 创建一个包含5个MyClass对象的数组,每个对象都被初始化为值10
```
4. 使用数组初始化列表创建并初始化对象数组:
```cpp
// 假设MyClass有一个接受整数参数的构造函数
MyClass* objArray = new MyClass[3]{10, 20, 30}; // 创建一个包含3个MyClass对象的数组,分别被初始化为10, 20, 30
```
创建对象数组后,不要忘记在不再需要数组时使用`delete[]`操作符来释放内存,以避免内存泄漏:
```cpp
delete[] arr; // 释放基本类型的数组
delete[] objArray; // 释放对象数组
```
阅读全文