c++ - 如何在 C++ 中将元素插入数组?

标签 c++ arrays function push

<分区>

我需要编写一个函数:

  1. 遍历从 50 到 100 的所有数字
  2. 检查哪些数字可以被 6 整除
  3. 将这些数字添加到数组中
  4. 写那个数组
  5. 写入该数组中有多少个元素

我在 C++ 中搜索了一个函数推送,但看起来没有...

到此为止,还不行...

int pushIntoArray(int array[], int size){
    int index = 0;
    int newArray[100];

    for (int i=0; i<=size; i++){
        if(array[i] % 6 == 0 && array[i] <= 100 && array[i] >= 50){
            newArray[index] = array[i];
            index++;
        }
    }
}

最佳答案

你不能。数组 ir C++(和 C 也是)是固定大小的。这也是有充分理由的。它们是一个非常低级的概念,与指针非常相似。数组的内存在开始时分配一次,之后不会改变。数组只是内存中的一堆字节。

“推送”操作需要更改数组的大小,这意味着分配新内存、从旧内存复制内容并删除旧内存。这是简单的、未优化的版本。

所以,不,数组不能做到这一点。但是标准库包含一个 std::vector正是这样做的类以及更多。这就是您想要的。

关于c++ - 如何在 C++ 中将元素插入数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40548429/

相关文章:

c++ - Qt中如何获取SD卡的文件系统格式?

c++ - 异步套接字问题

java - 如何将扫描仪输入放入数组中......例如几个数字

c++ - 是否有可能有 'times out' 的源代码(在某个时刻后变得无效)?

c++ - MFC/Win32 中的定时器消息

python - 具有特定比例的二进制随机数组?

javascript - 在具有随机起始索引的数组中选择 4 个值

function - 在 go 中重载函数不起作用

python - 一个接一个地调用Python函数,包装?

python - 使用类和函数在命令行中调试 Python