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
廣告