Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
std::bad_alloc(3)	      C++ Standard Libary	     std::bad_alloc(3)

NAME
       std::bad_alloc -	std::bad_alloc

Synopsis
	  Defined in header <new>
	  class	bad_alloc;

	  std::bad_alloc is the	type of	the object thrown as exceptions	by the
       allocation
	  functions to report failure to allocate storage.

	  std-bad alloc-inheritance.svg

					  Inheritance diagram

Member functions
	  constructor	constructs a new bad_alloc object
			(public	member function)
	  operator=	replaces the bad_alloc object
			(public	member function)
	  what		returns	the explanatory	string
			(public	member function)

       std::bad_alloc::bad_alloc

	  bad_alloc() throw();					(until C++11)
	  bad_alloc() noexcept;				(1)	(since C++11)
	  bad_alloc(	const	 bad_alloc&    other   )   throw();	   (2)
       (until C++11)
	  bad_alloc(	 const	   bad_alloc&	   other      )	     noexcept;
       (since C++11)

	  Constructs  a	 new  bad_alloc	 object	with an	implementation-defined
       null-terminated
	  byte string which is accessible through what().

	  1) Default constructor.
	  2) Copy constructor.
	  If *this and	other  both  have  dynamic  type  std::bad_alloc  then
       std::strcmp(what(),
	  other.what())	== 0.
	  (since C++11)

Parameters
	  other	- another exception object to copy

       std::bad_alloc::operator=

	  bad_alloc&  operator=(  const	 bad_alloc&  other ) throw();	(until
       C++11)
	  bad_alloc& operator=(	const bad_alloc&  other	 )  noexcept;	(since
       C++11)

	  Assigns the contents with those of other.
	  If  *this  and  other	 both  have  dynamic  type std::bad_alloc then
       std::strcmp(what(),
	  other.what())	== 0 after assignment.
	  (since C++11)

Parameters
	  other	- another exception object to assign with

Return value
	  *this

       std::bad_alloc::what

	  virtual const	char* what() const throw();   (until C++11)
	  virtual const	char* what() const noexcept;  (since C++11)

	  Returns the explanatory string.

Parameters
	  (none)

Return value
	  Pointer to a null-terminated string  with  explanatory  information.
       The string is
	  suitable  for	 conversion and	display	as a std::wstring. The pointer
       is guaranteed to
	  be valid at least until the exception	object from which  it  is  ob-
       tained is destroyed,
	  or until a non-const member function (e.g. copy assignment operator)
       on the
	  exception object is called.

Notes
	  Implementations are allowed but not required to override what().

       Inherited from std::exception

Member functions
	  destructor   destroys	the exception object
	  [virtual]    (virtual	public member function of std::exception)
	  what	       returns an explanatory string
	  [virtual]    (virtual	public member function of std::exception)

Example
       // Run this code

	#include <iostream>
	#include <new>

	int main()
	{
	    try	{
		while (true) {
		    new	int[100000000ul];
		}
	    } catch (const std::bad_alloc& e) {
		std::cout << "Allocation failed: " << e.what() << '\n';
	    }
	}

Possible output:
	Allocation failed: std::bad_alloc

See also
	  operator new	 allocation functions
	  operator new[] (function)

http://cppreference.com		  2022.07.31		     std::bad_alloc(3)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=std::bad_alloc&sektion=3&manpath=FreeBSD+Ports+15.0>

home | help