C++ 数组::back() 函数



C++ 的std::array::back()函数用于返回数组容器中最后一个元素的引用。它提供对最后一个元素的常数时间访问,允许读取和修改其值。

当在空数组上调用 back() 函数时,会导致未定义的行为。

语法

以下是 std::array::at() 函数的语法。

reference back();
const_reference back() const;

参数

它不接受任何参数。

返回值

此函数返回数组中最后一个元素的引用。

异常

在大小为零的数组上调用此函数会导致未定义的行为。

时间复杂度

常数,即 O(1)

示例 1

在以下示例中,我们将考虑 back() 函数的基本用法。

#include <iostream>
#include <array>
using namespace std;
int main(void) {
   array < int, 5 > arr = {1, 2, 3, 4, 5};
   cout << "Last element of array = " << arr.back() <<
      endl;
   arr.back() = 50;
   cout << "after modification last element of array = " << arr.back() <<
      endl;
   return 0;
}

输出

以上代码的输出如下:

Last element of array = 5
after modification last element of array = 50

示例 2

考虑以下示例,我们将使用 back() 函数查找整数的最后一个元素。

#include <iostream>
#include <array>
using namespace std;
int main() {
   array < int, 10 >
      myarray {9, 12, 15, 18, 21, 24, 27, 30, 33, 36 };
   cout << myarray.back();
   return 0;
}

输出

以下是以上代码的输出:

36

示例 3

让我们看看以下示例,我们将初始化没有大小的数组并观察输出。

#include <iostream>
#include <array>
using namespace std;
int main() {
   array < char >
      myarray {'a', 'b', 'c', 'd', 'e', 'f', 'g'};
   cout << myarray.back();
   return 0;
}

输出

如果我们运行以上代码,它将生成以下输出:

/tmp/p96P7KSefI.cpp:7:19: error: wrong number of template arguments (1, should be 2)
    7 |         array<char>
      |                   ^
In file included from /tmp/p96P7KSefI.cpp:2:
/usr/include/c++/11/array:95:12: note: provided for 'template<class _Tp, long unsigned int _Nm> struct std::array'
   95 |     struct array
      |            
array.htm
广告

© . All rights reserved.