Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                

C++ Array::back() Function



The C++ std::array::back() function is used to retutn the reference to the last element in a array container. It provides constant time access to the last element, allowing both reading and modifying the value.

When the back() function is invoked on the empty array, it results in a undefined behaviour.

Syntax

Following is the syntax for std::array::at() function.

reference back();
const_reference back() const;

Parameters

It does not accepts any parameter.

Return Value

This function returns the reference to the last element in the array.

Exceptions

Calling this function on zero sized array will cause undefined behaviour.

Time complexity

Constant i.e. O(1)

Example 1

In the following example, we are going to consider the basic usage of the back() function.

#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;
}

Output

Output of the above code is as follows −

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

Example 2

Consider the following example, where we are going to find the last element of the integer using the back() function.

#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;
}

Output

Following is the output of the above code −

36

Example 3

Let's look at the following example, where we are going to initialize the array without size and observing the output.

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

Output

If we run the above code it will generate the following output −

/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
Advertisements