📅  最后修改于: 2023-12-03 15:22:34.829000             🧑  作者: Mango
在C++中,数组是一种常见的数据结构,可以用来存储多个相同类型的变量。在声明数组时,我们需要指定数组的大小,如int arr[10]
表示声明一个包含10个整数的数组。但是,有时候我们需要创建一个大小可变的数组,这时可以使用C++中的可变大小数组。
C++中有两种实现可变大小数组的方式:
动态内存分配是一种从操作系统中请求内存块的方法。我们可以使用new
运算符在程序运行时动态地分配内存。使用动态分配的数组,不需要事先知道数组的大小,可以在运行时根据需要分配所需的大小。以下是一个动态分配大小的数组的示例:
int size;
cout << "Enter size of dynamic array: ";
cin >> size;
int* arr = new int[size];
//使用数组
delete[] arr; //在使用完数组后,需要使用delete运算符释放内存
vector是C++中一个强大的容器,它可以保存多个相同类型的对象。与数组不同,vector的大小可以动态调整。以下是一个vector的示例:
#include <iostream>
#include <vector>
int main() {
std::vector<int> vec;
int size;
std::cout << "Enter size of vector: ";
std::cin >> size;
for (int i = 0; i < size; i++) {
int num;
std::cout << "Enter number: ";
std::cin >> num;
vec.push_back(num);
}
std::cout << "Vector elements: ";
for (int i = 0; i < vec.size(); i++) {
std::cout << vec[i] << " ";
}
std::cout << std::endl;
return 0;
}
通过上述介绍,我们了解了在C++中实现具有可变大小的数组的两种方法:动态内存分配和vector容器。使用这些方法,我们可以在程序运行时根据需要分配或调整数组的大小,提高程序的灵活性和扩展性。