当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


C++ array::front()、array::back()用法及代码示例



数组与C-style数组相比,这些类通常更高效,轻巧且可靠。 C++ 11中数组类的引入为C-style数组提供了更好的替代方法。

array::front()

此函数用于引用数组容器的第一个元素。此函数可用于获取数组的第一个元素。
用法:

arrayname.front()
参数:
No parameters are passed.
返回:
Direct reference to the first element of the array container.

例子:


Input: myarray = {1, 2, 3, 4}
         myarray.front()
Output:1

Input: myarray = {3, 6, 2, 8}
         myarray.front()
Output:3

错误和异常

1.如果数组容器为空,则会导致未定义的行为。
2.如果数组不为空,则没有异常抛出保证。

// CPP program to illustrate 
// Implementation of front() function 
#include <array> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    array<int, 5> myarray{ 1, 2, 3, 4, 5 }; 
    cout << myarray.front(); 
    return 0; 
}

输出:

1
array::back()

此函数用于引用数组容器的最后一个元素。此函数可用于从数组末尾获取最后一个元素。
用法:

arrayname.back()
参数:
No parameters are passed.
返回:
Direct reference to the last element of the array container.

例子:

Input: myarray = {1, 2, 3, 4}
         myarray.back()
Output:4

Input: myarray = {4, 5, 6, 7}
         myarray.back()
Output:7

错误和异常

1.如果数组容器为空,则会导致未定义的行为。
2.如果数组不为空,则没有异常抛出保证。

// CPP program to illustrate 
// Implementation of back() function 
#include <array> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    array<int, 5> myarray{ 1, 2, 3, 4, 5 }; 
    cout << myarray.back(); 
    return 0; 
}

输出:

5

front(),back()与开始之间的区别,end()函数

begin()和end()函数返回一个迭代器(如指针),该迭代器已初始化为可用于遍历集合的容器的第一个或最后一个元素,而front()和back()函数仅返回对第一个或最后一个元素的引用容器。

应用
给定一个整数数组,打印第一个和最后一个元素之间的差。

Input:1, 2, 3, 4, 5, 6, 7, 8
Output:7
Explanation:Last element = 8, First element = 1, Difference = 7

算法
1.比较第一个和最后一个元素。
2.如果第一个元素较大,则从中减去最后一个元素并打印。
3.否则从最后一个元素中减去第一个元素并打印出来。

// CPP program to illustrate 
// application Of front() and back() function 
#include <array> 
#include <iostream> 
using namespace std; 
  
int main() 
{ 
    array<int, 8> myarray{ 1, 2, 3, 4, 5, 6, 7, 8 }; 
  
    // Array becomes 1, 2, 3, 4, 5, 6, 7, 8 
  
    if (myarray.front() > myarray.back()) { 
        cout << myarray.front() - myarray.back(); 
    } 
    else if (myarray.front() < myarray.back()) { 
        cout << myarray.back() - myarray.front(); 
    } 
    else
        cout << "0"; 
}

输出:

7


相关用法


注:本文由纯净天空筛选整理自AyushSaxena大神的英文原创作品 array::front() and array::back() in C++ STL。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。