
- 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::get_allocator() Function
The C++ std::deque::get_allocator() function is used to return the copy of the allocator object associated with the deque. This allocator object is responsible for managing the memory allocations and deallocation for the elements within the deque. By accessing the allocator, we can control or customize the memory management.
Syntax
Following is the syntax for std::deque::get_allocator() function.
allocator_type get_allocator() const noexcept;
Parameters
It does not accept any parameter.
Return value
It returns an allocator associated with deque.
Exceptions
This function never throws exception.
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 get_allocator() function.
#include <iostream> #include <deque> #include <memory> int main() { std::deque<char> a; std::allocator<char> x = a.get_allocator(); char* y = x.allocate(1); x.construct(y, 'A'); std::cout << "Value constructed in allocated memory: " << *y << std::endl; x.destroy(y); x.deallocate(y, 1); return 0; }
Output
Output of the above code is as follows −
Value constructed in allocated memory: A
Example
Consider the following example, where we are going to create a another deque using the same allocator as the first deque.
#include <iostream> #include <deque> int main() { std::deque<int> a = {1, 22,333,4444}; std::deque<int> b(a.get_allocator()); b.push_back(123); b.push_back(345); for (int val : b) { std::cout << val << " "; } std::cout << std::endl; return 0; }
Output
Following is the output of the above code −
123 345