zoukankan      html  css  js  c++  java
  • 在C++的函数中如何指定一个数组,使得这个数组的大小由函数的输入值来决定

    今天调试一个C++程序,在一个函数中定义了一个一维数组,设定数组的大小由函数的输入值来决定。

    是这样子的:

    int a[r+l-1];

    然后发现:报错!

    报错是这样的:

    那么问题来了,在C++中定义数组一定要指定数组大小么?

    答案是否定的,我们在定义C++中的数组时,不一定要指定数组大小。

    但是向小编代码中那样定义数组就一定要指定数组大小了,因为这种定义数组的写法是C语言风格的(即常规数组),必须指定确定大小。

    在C++中,还有两种定义数组的方法不需要指定确定大小:

    1)使用指针:

    int *a=new int[r-l+1];

    2)使用容器vector代替数组:

    vector<int> a;

    vector相当于一个动态的数组,无需指定它的大小。在C++中常规数组是一种确定大小的数据结构,一些函数中使用它很容易溢出,不能达到实际目的。因此在C++中推荐使用vector。

    关于vector相关用法,可以看另外一位博主的文章:https://www.cnblogs.com/yoke/p/6080080.html

  • 相关阅读:
    Android系统根文件系统目录结构
    4面 晶晨半导体 问题总结
    linux 工作队列
    Linux tasklet 的测试
    ArbotiX-M引脚说明
    locobot
    视频地址
    S1雷达ROS包更新指南
    rospy
    mx-28在 labview环境下的开发
  • 原文地址:https://www.cnblogs.com/dudududu/p/8522600.html
Copyright © 2011-2022 走看看