
- C++ Library - Home
- C++ Library - <fstream>
- C++ Library - <iomanip>
- C++ Library - <ios>
- C++ Library - <iosfwd>
- C++ Library - <iostream>
- C++ Library - <istream>
- C++ Library - <ostream>
- C++ Library - <sstream>
- C++ Library - <streambuf>
- C++ Library - <atomic>
- C++ Library - <complex>
- C++ Library - <exception>
- C++ Library - <functional>
- C++ Library - <limits>
- C++ Library - <locale>
- C++ Library - <memory>
- C++ Library - <new>
- C++ Library - <numeric>
- C++ Library - <regex>
- C++ Library - <stdexcept>
- C++ Library - <string>
- C++ Library - <thread>
- C++ Library - <tuple>
- C++ Library - <typeinfo>
- C++ Library - <utility>
- C++ Library - <valarray>
- The C++ STL Library
- C++ Library - <array>
- C++ Library - <bitset>
- C++ Library - <deque>
- C++ Library - <forward_list>
- C++ Library - <list>
- C++ Library - <map>
- C++ Library - <multimap>
- C++ Library - <queue>
- C++ Library - <priority_queue>
- C++ Library - <set>
- C++ Library - <stack>
- C++ Library - <unordered_map>
- C++ Library - <unordered_set>
- C++ Library - <vector>
- C++ Library - <algorithm>
- C++ Library - <iterator>
- The C++ Advanced Library
- C++ Library - <any>
- C++ Library - <barrier>
- C++ Library - <bit>
- C++ Library - <chrono>
- C++ Library - <cinttypes>
- C++ Library - <clocale>
- C++ Library - <condition_variable>
- C++ Library - <coroutine>
- C++ Library - <cstdlib>
- C++ Library - <cstring>
- C++ Library - <cuchar>
- C++ Library - <charconv>
- C++ Library - <cfenv>
- C++ Library - <cmath>
- C++ Library - <ccomplex>
- C++ Library - <expected>
- C++ Library - <format>
- C++ Library - <future>
- C++ Library - <flat_set>
- C++ Library - <flat_map>
- C++ Library - <filesystem>
- C++ Library - <generator>
- C++ Library - <initializer_list>
- C++ Library - <latch>
- C++ Library - <memory_resource>
- C++ Library - <mutex>
- C++ Library - <mdspan>
- C++ Library - <optional>
- C++ Library - <print>
- C++ Library - <ratio>
- C++ Library - <scoped_allocator>
- C++ Library - <semaphore>
- C++ Library - <source_location>
- C++ Library - <span>
- C++ Library - <spanstream>
- C++ Library - <stacktrace>
- C++ Library - <stop_token>
- C++ Library - <syncstream>
- C++ Library - <system_error>
- C++ Library - <string_view>
- C++ Library - <stdatomic>
- C++ Library - <variant>
- C++ STL Library Cheat Sheet
- C++ STL - Cheat Sheet
- C++ Programming Resources
- C++ Programming Tutorial
- C++ Useful Resources
- C++ Discussion
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 |