
- 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::operator[] Function
The C++ std::deque::operator[] function allows to access or modify the element at a specific index, similar to how arrays and vetors work. The function takes a single argument, the index, and returns a reference to the element at that position.
Unlike at(), it does not perform bounds checking, so accessing an out-of-range index results in undefined behaviour.
Syntax
Following is the syntax for std::deque::operator[] function.
reference operator[] (size_type n); const_reference operator[] (size_type n) const;
Parameters
- n − It indicates the position of an element in the container.
Return value
It returns the element at the specified position in the container.
Exceptions
It throws undefined behaviour if the index is out of range.
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 operator[] function.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; std::cout << "Element at given index : " << a[1] << std::endl; return 0; }
Output
Output of the above code is as follows −
Element at given index : B
Example
Consider the following example, where we are going to modify the element.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; a[2] = 'Z'; for (int x = 0; x < a.size(); ++x) { std::cout << a[x] << " "; } std::cout << std::endl; return 0; }
Output
Following is the output of the above code −
A B Z D
Example
Let's look at the following example, where we are going to access the element that is out of range and observing the output.
#include <iostream> #include <deque> int main() { std::deque<int> a = {01,12,23,34}; std::cout << "Element at given index : " << a[5] << std::endl; return 0; }
Output
If we run the above code it will generate the following output −
Element at given index : 0