大批类通常比 C-style 数组更高效、更轻量和更可靠。 C++11 中数组类的引入为 C-style 数组提供了更好的替代方案。
array::运算符[]
此运算符用于引用运算符内部给定位置处的元素。它与 at() 函数类似,唯一的区别是 at() 函数在位置不在数组大小的范围内时抛出超出范围的异常,而该运算符会导致未定义的行为。
用法:
arrayname[position] 参数: Position of the element to be fetched. 返回: Direct reference to the element at the given position.
例子:
Input: myarray = {1, 2, 3, 4, 5} myarray[2] Output:3 Input: myarray = {1, 2, 3, 4, 5} myarray[4] Output:5
错误和异常
1. 如果该位置不在数组中,则显示未定义的行为。
2. 否则它没有异常抛出保证。
// CPP program to illustrate
// Implementation of [] operator
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int,5> myarray{ 1, 2, 3, 4, 5 };
cout << myarray[4];
return 0;
}
输出:
5
应用
给定一个整数数组,打印出现在偶数位置的所有整数。
Input :1, 2, 3, 4, 5 Output:1 3 5 Explanation - 1, 3 and 5 are at position 0,2,4 which are even
算法
1. 运行一个循环直到数组的大小。
2.检查该位置是否可以被2整除,如果是,则打印该位置的元素。
// CPP program to illustrate
// Application of [] operator
#include <iostream>
#include <array>
using namespace std;
int main()
{
array<int,5> myarray{ 1, 2, 3, 4, 5 };
for(int i=0; i<myarray.size(); ++i)
{
if(i%2==0){
cout<<myarray[i];
cout<<" ";
}
}
return 0;
}
输出:
1 3 5
相关用法
注:本文由纯净天空筛选整理自AyushSaxena大神的英文原创作品 array::operator[] in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。