The C++ std::deque::at() function is used to provide the access to the elements based on their position index, allowing both read and write operations. It is useful for accessing the element in the deque, when the exact boundary checking is necessary.
SyntaxUnlike operator[], at() function validates the index against bounds and throws an out of range exception if the index is invalid.
Following is the syntax for std::deque::at() function.
reference at (size_type n); const_reference at (size_type n) const;Parameters
This function returns the element at the specified position in the container.
ExceptionsIt throws out of range exception if n is not valid.
Time complexityThe time complexity of this function is Constant i.e. O(1)
ExampleLet's look at the following example, where we are going to demonstrate the basic usage of at() function.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; char element = a.at(2); std::cout << "Element at given index : " << element << std::endl; return 0; }Output
Output of the above code is as follows −
Element at given index : CExample
Consider the following example, where we are going to modify the element.
#include <iostream> #include <deque> int main() { std::deque<int> a = {1,22,3,4444}; a.at(2) = 333; for (int elem : a) { std::cout << elem << " "; } std::cout << std::endl; return 0; }Output
Following is the output of the above code −
1 22 333 4444Example
In the following example, we are going to access the element that is out of range and observing the output.
#include <iostream> #include <deque> int main() { std::deque<char> a = {'A', 'B', 'C', 'D'}; try { char element = a.at(6); std::cout << "Element at given index : " << element << std::endl; } catch (const std::out_of_range& oor) { std::cerr << "Out of Range error: " << oor.what() << std::endl; } return 0; }Output
If we run the above code it will generate the following output −
Out of Range error: deque::_M_range_check: __n (which is 6)>= this->size() (which is 4)
deque.htm
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4