c++数组大小不能用变量定义吗
作者:野牛程序员:2024-07-05 08:27:03 C++阅读 2366
c++数组大小不能用变量定义吗
在标准C++中,数组的大小在编译时必须是一个常量表达式,因此不能直接使用变量来定义数组的大小。然而,可以使用以下几种方法来实现动态大小的数组:
动态内存分配: 使用
new
关键字分配动态内存。int size = 10; int* array = new int[size]; // 使用数组 delete[] array; // 记得释放内存
std::vector
:std::vector
是一个动态数组,可以在运行时改变大小。#include <vector> int size = 10; std::vector<int> array(size);
std::array
: 如果数组大小在编译时已知,可以使用std::array
。#include <array> const int size = 10; std::array<int, size> array;
std::unique_ptr
: 结合智能指针进行动态内存管理。#include <memory> int size = 10; std::unique_ptr<int[]> array = std::make_unique<int[]>(size);
上述方法可以帮助在C++中使用变量来定义数组大小。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892