在 C++ 中为大小为 n 的数组的前 m 个元素赋值

Assign value to the first m elements of an array of size n in C++

我在全局范围(main() 函数之外)声明了一个大小为 n 的数组,在 main() 中我需要将第一个 [=15] 分配给它=] (m < n) 值。我该如何处理?

#include <iostream>
using namespace std;

int array[50];

int main()
{
    array = {1,2,3,4,5};  //can not execute, error
    return 0;
}

我得到的错误:

assigning to an array from an initializer list

如果您尝试使用一些初始值来初始化数组,则必须在初始化时立即执行此操作,而不是在初始化之后。

#include <iostream>
using namespace std;
int main(){
   int array[50] = {1,2,3,4,5};
   return 0;
}

但是,如果您确实需要复制值,最简单的方法是一个一个地复制值。

#include <iostream>
using namespace std;
int array[50];

int main(){
   int temp[5] = {1,2,3,4,5};
   for (int i = 0; i < 5; i++) 
       array[i] = temp[i];
   return 0;
}