是的,C++支持动态内存分配。在C++中,可以使用new
和delete
关键字进行动态内存分配和释放。new
用于在运行时分配内存,而delete
用于释放之前使用new
分配的内存。
以下是一个简单的示例:
#include <iostream>
int main() {
int n;
std::cout << "Enter the number of elements: ";
std::cin >> n;
// 动态分配内存
int* arr = new int[n];
std::cout << "Enter the elements: ";
for (int i = 0; i < n; ++i) {
std::cin >> arr[i];
}
// 使用动态分配的内存
std::cout << "The elements are: ";
for (int i = 0; i < n; ++i) {
std::cout << arr[i] << " ";
}
std::cout << std::endl;
// 释放动态分配的内存
delete[] arr;
return 0;
}
在这个示例中,我们首先使用new
为数组arr
分配了n
个整数的内存空间。然后,我们使用delete[]
释放了之前分配的内存。这样,我们就实现了动态内存分配和释放。