std::allocator<T>::deallocate
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   void deallocate( T* p, std::size_t n );  | 
||
Deallocates the storage referenced by the pointer p, which must be a pointer obtained by an earlier call to allocate(). 
The argument n must be equal to the first argument of the call to allocate() that originally produced p; otherwise, the behavior is undefined.
Calls ::operator delete(void*) or ::operator delete(void*, std::align_val_t) (since C++17), but it is unspecified when and how it is called.
Parameters
| p | - |   pointer obtained from allocate()
 | 
| n | - |   number of objects earlier passed to allocate()
 | 
Return value
(none)
See also
|    allocates uninitialized storage  (public member function)  | |
|    [static]  | 
   deallocates storage using the allocator  (public static member function of std::allocator_traits<Alloc>)  |