如何在C ++ STL中获取数组的第一个元素和最后一个元素?

给定一个数组,我们必须在C ++ STL中访问其第一个和最后一个元素。

获取数组的第一个和最后一个元素

获取数组的第一个元素和最后一个元素有两种常见且流行的方法,

  1. 使用array::operator []

  2. 使用array::front()和array::back()函数

1)使用array::operator []

Operator []需要一个索引,并返回对该索引的引用,因此,要获取数组的第一个元素,我们使用0作为索引(因为我们知道数组索引以0开头)并获取最后一个元素,使用array::size()函数返回元素总数,因此,要获取数组的最后一个元素,我们使用array::size()-1作为索引。

2)使用array::front()和array::back()函数

array::front()函数返回对第一个元素的引用,而array::back()函数返回对数组的最后一个元素的引用。

示例

    Input or array declaration:
    array<int,5> values {10, 20, 30, 40, 50};

    Method 1:
    To get first element: values[0] = 10
    To get the last element: values[values.size()-1] = 50

    Method 2:
    To get the first element: values.front() = 10
    To get the last element: values.back() = 50

C ++ STL程序获取数组的第一个和最后一个元素

#include <array>
#include <iostream>
using namespace std;

int main(){
	array<int,5> values {10, 20, 30, 40, 50};

	//通过使用operator []
	cout<<"First element is: "<<values[0]<<endl;
	cout<<"Last element is:  "<<values[values.size()-1]<<endl;

	//通过使用front()和back()功能
	cout<<"First element is: "<<values.front()<<endl;
	cout<<"Last element is:  "<<values.back()<<endl;    

	return 0;
}

输出结果

First element is: 10
Last element is:  50
First element is: 10
Last element is:  50