当前位置:首页 C++ > 正文

c++数组大小不能用变量定义吗

作者:野牛程序员:2024-07-05 08:27:03 C++阅读 2366
c++数组大小不能用变量定义吗

在标准C++中,数组的大小在编译时必须是一个常量表达式,因此不能直接使用变量来定义数组的大小。然而,可以使用以下几种方法来实现动态大小的数组:

  1. 动态内存分配: 使用new关键字分配动态内存。

    int size = 10;
    int* array = new int[size];
    // 使用数组
    delete[] array;  // 记得释放内存
  2. std::vectorstd::vector是一个动态数组,可以在运行时改变大小。

    #include <vector>
    
    int size = 10;
    std::vector<int> array(size);
  3. std::array: 如果数组大小在编译时已知,可以使用std::array

    #include <array>
    
    const int size = 10;
    std::array<int, size> array;
  4. std::unique_ptr: 结合智能指针进行动态内存管理。

    #include <memory>
    
    int size = 10;
    std::unique_ptr<int[]> array = std::make_unique<int[]>(size);

上述方法可以帮助在C++中使用变量来定义数组大小。


野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892
野牛程序员教少儿编程与信息学竞赛-微信|电话:15892516892
  • c++
  • 最新推荐

    热门点击