array<int, 5> b = {12,45,12,4};
int B[5] = { 12, 45, 12, 4 };
for (auto item : b)
{
cout << item << endl; // 12,45,12,4, 0
}
cout << endl;
for (auto item : B)
{
cout << item << endl; // 12,45,12,4, 0
}
之间有什么区别array<int,5> b
?和int b[5];
?
模板类std:; array被定义为结构。它是一个聚合,并具有一些方法,例如size()
。区别在于,例如,数组没有赋值运算符。你可能不会写
int b[5] = { 12, 45, 12, 4 };
int a[5];
a = b;
而结构具有隐式定义的赋值运算符。
std::array<int, 5> b = { 12, 45, 12, 4 };
std::array<int, 5> a;
a = b;
同样,使用数组时,您可能无法使用初始化列表来分配数组。例如,编译器将为以下语句发出错误
int b[5];
b = { 12, 45, 12, 4, 0 };
但是,您可以使用std::array
例如
std::array<int, 5> b;
b = { 12, 45, 12, 4, 0 };
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句