
- 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++ Deque::back() Function
The C++ std::deque::back() function is used to return the reference to the last element in the deque, allowing access to that element. It doesn't remove the element , only provide access.
When the back() function is invoked on the empty deque, it results in the undefined behaviour.
Syntax
Following is the syntax for std::deque::back() function.
reference back(); const_reference back() const;
Parameters
It does not accepts any parameters
Return value
This function returns the reference to the last element in the deque.
Exceptions
When invoked on the empty deque it results undefined behaviour.
Time complexity
The time complexity of this function is Constant i.e. O(1)
Example
In the following example, we are going to consider the basic usage of the back() function.
#include <iostream> #include <deque> int main() { std::deque<char> x = {'A', 'B', 'C', 'D'}; std::cout << "Last Element : " << x.back() << std::endl; return 0; }
Output
Output of the above code is as follows −
Last Element : D
Example
Consider the following example, where we are going to modify the last element.
#include <iostream> #include <deque> int main() { std::deque<int> a = {1,22,333,4}; a.back() = 4444; std::cout << "After Modification Last Element : " << a.back() << std::endl; return 0; }
Output
Following is the output of the above code −
After Modification Last Element : 4444
Example
Let's look at the following example, where we are going to use the back() function along with the pop_back().
#include <iostream> #include <deque> int main() { std::deque<char> x = {'A', 'B', 'C', 'D'}; while (!x.empty()) { std::cout << "Last Element: " << x.back() << std::endl; x.pop_back(); } return 0; }
Output
If we run the above code it will generate the following output −
Last Element: D Last Element: C Last Element: B Last Element: A
Example
Following is the example, where we are going to use the back() function in the loop.
#include <iostream> #include <deque> int main() { std::deque<int> a; for (int x = 1; x <= 4; ++x) { a.push_back(x * 2 ); std::cout << "Last element after push_back : " << a.back() << std::endl; } return 0; }
Output
Let us compile and run the above program, this will produce the following result −
Last element after push_back : 2 Last element after push_back : 4 Last element after push_back : 6 Last element after push_back : 8