在运行时,C++可以通过动态内存分配来更改用类对象填充的数组的大小。这可以通过以下步骤实现:
以下是一个示例代码,演示如何在运行时更改用类对象填充的数组的大小:
#include <iostream>
class MyClass {
// 类定义
};
int main() {
int originalSize = 5;
MyClass* originalArray = new MyClass[originalSize]; // 创建原始数组
// 填充原始数组...
int newSize = 10;
MyClass* newArray = new MyClass[newSize]; // 创建新数组
// 复制原始数组中的元素到新数组
for (int i = 0; i < originalSize; i++) {
newArray[i] = originalArray[i];
}
delete[] originalArray; // 释放原始数组的内存
originalArray = newArray; // 将新数组的指针赋值给原始数组的指针
// 使用新数组...
delete[] originalArray; // 释放新数组的内存
return 0;
}
在这个例子中,我们首先创建一个原始大小为5的数组,然后创建一个新的大小为10的数组。然后,我们将原始数组中的元素逐个复制到新数组中,并释放原始数组的内存。最后,我们将新数组的指针赋值给原始数组的指针,以便在后续代码中使用新的数组。最后,我们释放新数组的内存。
请注意,这只是一个简单的示例,实际应用中可能需要考虑更多的细节,如异常处理和内存管理。此外,根据具体的需求,可能需要使用更高级的数据结构,如std::vector,来更方便地管理动态数组的大小。
领取专属 10元无门槛券
手把手带您无忧上云