【发布时间】:2021-01-04 12:18:49
【问题描述】:
我正在尝试使从 C++ 中的初始化程序列表中分配给数组成为可能,如果可以的话,该怎么做?可能是新版本的C++需要实现吗?
代码:
#include <iostream>
#include <array>
using namespace std;
int main()
{
int arrayName_A[5];
arrayName_A = {1,2,3,4,5};
for (int i=0;i<5;i++)
{
cout << "\n Starting checker" << '\n';
cout << "checked: " << arrayName_A[i] << '\n';
}
}
【问题讨论】:
-
数组不可赋值(它们不能出现在赋值的左侧)。
-
您使用哪个版本的 C++ 无关紧要。数组是不可分配的。您可以在定义中对其进行初始化(即
int arrayname_A[] = {1,2,3,4,5};,这不是赋值),然后单独操作元素(例如在循环中),但不分配整个数组。可以使用初始化程序分配std::array<int, 5>(尽管它的名称,它是在标题<array>中指定的模板类,它管理一个数组,而不是一个数组)。
标签: c++ arrays variable-assignment initializer-list