六盘水南宁网站建设,教做网站,统计网站访问量,专业做网站平台array模板类是C11引入。它是有着固定大小用于保存一系列同类型元素的顺序容容器#xff0c;因此不能对它进行增加或者删除,只能使用或者替换它的元素值。
1.定义及初始化
array定义对象时,需要传入类型和大小,且大小不能修改。array是唯--个如果不初始化,它的初始化是不明确…array模板类是C11引入。它是有着固定大小用于保存一系列同类型元素的顺序容容器因此不能对它进行增加或者删除,只能使用或者替换它的元素值。
1.定义及初始化
array定义对象时,需要传入类型和大小,且大小不能修改。array是唯--个如果不初始化,它的初始化是不明确的(不是0)的容器,当然如果只初始化一部分则剩余部分为0.
//输出arr的所有元素
void Show(const arrayint,10 arr)
for(const auto x:arr)
{
cout x ;
cout endl;
}
int main()
{
arrayint,10a1 {1,2,3,4,5,6,7,8,9,10 };//a1类型为int,长度为10
arrayint10a2;//a2类型为int,长度为18,默认为随机值(vscode)和普通数组一样
arrayint5a3{};//a3类型为int,长度为5,初始值为0
arraydouble10a4{1};//a4类型为double,长度为10
cout a1:;
Show(a1);
cout a2:;
Show(a2);
//Show(a3);//错误,Show只能输出类型为int,10
//Show(a4);//错误,Show只能输出类型为int,10
cout a3:;
for(auto x:a3)
Cout x ;
cout endl;
couta4::for(auto x:a4)
coutendl;return 0;
}
*由于array对象元素个数是固定的,它的大小不能改变,故不提供插入或者删除操作
2.array常用迭代器 int main()
{
arrayint,10a {1,2,3,4,5,6,7,8,9,10 };//a1类型为int,长度为10
//利用迭代器输出a的内容
for(arrayint,10::const_iterator it a.cbegin();it ! a.cend(); it)
cout *it ;
cout endl;
//利用迭代器把元素的值*2
for(auto ita.begin();it ! a.end();it)
*it *it * 2;
//从后往前输出a的内容
for(auto it a.rbegin();it ! a.rend(); it)
Cout *it ;
cout endl;
return 0;
}
3.array常用运算符 /输出arr的所有兀素
void Show(const arrayint5 arr)
{for(auto x:arr)
cout x ;
cout endl;
}
int main()
{
arrayint,5a1{1,2,3,4,5};
arrayint5a2;
a2 a1;//把a1的值全部赋值给a2
cout “a1:;
Show(a1);
cout a2:;
Show(a2);
if(a1 a2)//判断a1是否等于a2
cout“a1a2 endl endl;
a1[3] 100;//通过[]修改a1的元素
cout a1[3]100后endla1:;
Show(a1);
cout a2:;
Show(a2);
if(a1 ! a2)//判断两个array对象是否不相等
couta1 ! a2 endl;
if(a1 a2)//判断a1,a2的大小
couta1 a2 endl;
else if(a1 a2)
couta1 a2 endl;
else
cout a1 a2 endl;
return 0;
}
下面是运算符的其他应用
int main()
{
arrayint,5a1{1,2,3,4,5};
arrayint, 10a2;
arraydouble,5a3;
int a4[10]{1,2,3,4,5,6,7,8,9,10};
//a2 a1;//错误,长度不匹配
//a3 a1;//错误,类型不匹配
a2 {1,2,3};//合法,a2剩余部分为8
//a2 a4;//非法。内置数组不能整体赋值
a3{};//合法,a3的值都是
return 0;
}
4.array常用成员函数 at成员函数访问指定位置的元素和[类似。 at中的位置如果超出范围会抛出range-error异常
empty成员函数仅当N0即数组长度为0时返回true
size成员函数返回元素个数,针对array的某个对象这个值是固定的(因为array不允许插入和删除)。
front成员函数返回第一个元素的引用。对象必须非空。
back成员函数返回最后一个元素的引用。对象必须非空
fill成员函数清除对象原来的数据,把每个元素设置为指定的值
swap成员函数交换两个array对象的数据,两个对象类型和长度必须一样