std::nothrow_t
From cppreference.com
                    
                                        
                    
                    
                                                            
                    |   Defined in header  <new>
  | 
||
|   struct nothrow_t {};  | 
(until C++17) | |
|   struct nothrow_t { explicit nothrow_t() = default; };  | 
(since C++17) | |
std::nothrow_t is an empty class type used to disambiguate the overloads of throwing and non-throwing allocation functions. 
See also
   an object of type nothrow_t used to select an non-throwing allocation function  (constant)  | |
|    allocation functions   (function)  |