📅  最后修改于: 2023-12-03 14:59:48.251000             🧑  作者: Mango
在C++中,可变大小的数组是不允许的。C++中的数组是静态分配的,也就是说在编译时或运行前,数组的大小必须是已知的并且固定的。
如果需要处理可变大小的数据集合,可以使用其他数据结构,如向量(vector)或动态分配的数组。下面给出了一些关于使用向量和动态分配数组的示例代码。
在C++中,向量是一个动态数组容器,可以自动调整其大小以适应存储的元素数量。通过包含 <vector>
头文件,就可以使用向量。下面是一些使用向量的示例代码:
#include <vector>
#include <iostream>
int main() {
std::vector<int> numbers; // 声明一个整数类型的向量
// 向向量中添加元素
numbers.push_back(10);
numbers.push_back(20);
numbers.push_back(30);
// 使用下标访问向量中的元素
std::cout << "元素1:" << numbers[0] << std::endl;
std::cout << "元素2:" << numbers[1] << std::endl;
std::cout << "元素3:" << numbers[2] << std::endl;
// 使用迭代器遍历向量中的元素
std::cout << "向量元素:";
for (std::vector<int>::iterator it = numbers.begin(); it != numbers.end(); ++it) {
std::cout << *it << " ";
}
std::cout << std::endl;
return 0;
}
C++还可以使用 new
运算符动态分配数组,使其大小可以在运行时确定。下面是一个使用动态分配数组的示例代码:
#include <iostream>
int main() {
int size;
std::cout << "输入数组大小:";
std::cin >> size;
int* numbers = new int[size]; // 动态分配数组
// 向数组中赋值
for (int i = 0; i < size; ++i) {
std::cout << "输入元素" << i+1 << ":";
std::cin >> numbers[i];
}
// 输出数组元素
std::cout << "数组元素:";
for (int i = 0; i < size; ++i) {
std::cout << numbers[i] << " ";
}
std::cout << std::endl;
delete[] numbers; // 释放动态分配的数组内存
return 0;
}
以上是关于在C++中不允许可变大小数组的介绍,同时给出了使用向量和动态分配数组的示例代码。这些方法可以在处理可变大小的数据时提供更灵活的解决方案。