Skip to main content

std::deque at() method

// Non const version
reference at( size_type pos );

// Const version
const_reference at( size_type pos ) const;

Returns a reference

to the element at specified index pos.

Bounds checking is performed and exception of type std::out_of_range will be thrown on invalid access, see Exceptions.

Parameters

  • pos - position of the element to return

Return value

Reference to the requested element.

Exceptions

Throws std::out_of_range if pos >= size().

Complexity

Constant - O(1).

Example

Main.cpp
#include <iostream>
#include <deque>

int main()
{
std::deque<int> data = { 1, 2, 4, 5, 5, 6 };

// Set element 1
data.at(1) = 88;

// Read element 2
std::cout << "Element at index 2 has value " << data.at(2) << '\n';

std::cout << "data size = " << data.size() << '\n';

try {
// Set element 6
data.at(6) = 666;
} catch (std::out_of_range const& exc) {
std::cout << exc.what() << '\n';
}

// Print final values
std::cout << "data:";
for (int elem : data)
std::cout << " " << elem;
std::cout << '\n';
}
Possible output
Element at index 2 has value 4
data size = 6
deque::_M_range_check: __n (which is 6) >= this->size() (which is 6)
data: 1 88 4 5 5 6
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.

std::deque at() method

// Non const version
reference at( size_type pos );

// Const version
const_reference at( size_type pos ) const;

Returns a reference

to the element at specified index pos.

Bounds checking is performed and exception of type std::out_of_range will be thrown on invalid access, see Exceptions.

Parameters

  • pos - position of the element to return

Return value

Reference to the requested element.

Exceptions

Throws std::out_of_range if pos >= size().

Complexity

Constant - O(1).

Example

Main.cpp
#include <iostream>
#include <deque>

int main()
{
std::deque<int> data = { 1, 2, 4, 5, 5, 6 };

// Set element 1
data.at(1) = 88;

// Read element 2
std::cout << "Element at index 2 has value " << data.at(2) << '\n';

std::cout << "data size = " << data.size() << '\n';

try {
// Set element 6
data.at(6) = 666;
} catch (std::out_of_range const& exc) {
std::cout << exc.what() << '\n';
}

// Print final values
std::cout << "data:";
for (int elem : data)
std::cout << " " << elem;
std::cout << '\n';
}
Possible output
Element at index 2 has value 4
data size = 6
deque::_M_range_check: __n (which is 6) >= this->size() (which is 6)
data: 1 88 4 5 5 6
This article originates from this CppReference page. It was likely altered for improvements or editors' preference. Click "Edit this page" to see all changes made to this document.
Hover to see the original license.