<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>libstdc++: new File Reference</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="navtree.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="jquery.js"></script> <script type="text/javascript" src="navtree.js"></script> <script type="text/javascript" src="resize.js"></script> <script type="text/javascript"> $(document).ready(initResizable); </script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body> <!-- Generated by Doxygen 1.7.4 --> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">libstdc++</div> </td> </tr> </tbody> </table> </div> </div> <div id="side-nav" class="ui-resizable side-nav-resizable"> <div id="nav-tree"> <div id="nav-tree-contents"> </div> </div> <div id="splitbar" style="-moz-user-select:none;" class="ui-resizable-handle"> </div> </div> <script type="text/javascript"> initNavTree('a00957.html',''); </script> <div id="doc-content"> <div class="header"> <div class="summary"> <a href="#nested-classes">Classes</a> | <a href="#namespaces">Namespaces</a> | <a href="#define-members">Defines</a> | <a href="#typedef-members">Typedefs</a> | <a href="#func-members">Functions</a> | <a href="#var-members">Variables</a> </div> <div class="headertitle"> <div class="title">new File Reference</div> </div> </div> <div class="contents"> <p><a href="a00957_source.html">Go to the source code of this file.</a></p> <h2><a name="nested-classes"></a> Classes</h2> <ul> <li>class <a class="el" href="a00389.html">std::bad_alloc</a> <dl class="el"><dd class="mdescRight">Exception possibly thrown by <code>new</code>.<code><a class="el" href="a00389.html" title="Exception possibly thrown by new.bad_alloc (or classes derived from it) is used to report allocation ...">bad_alloc</a></code> (or classes derived from it) is used to report allocation errors from the throwing forms of <code>new</code>. <a href="a00389.html#details">More...</a><br/></dl></ul> <h2><a name="namespaces"></a> Namespaces</h2> <ul> <li>namespace <a class="el" href="a01137.html">std</a> </ul> <h2><a name="typedef-members"></a> Typedefs</h2> <ul> <li>typedef void(* <a class="el" href="a01137.html#a6e94c520dbda433af9abd4eea9dcd250">std::new_handler</a> )() </ul> <h2><a name="func-members"></a> Functions</h2> <ul> <li>new_handler <a class="el" href="a01137.html#a08ab821429d6f9fd2f16f642de3e9163">std::set_new_handler</a> (new_handler) throw () </ul> <tr><td colspan="2"><div class="groupHeader"></div></td></tr> <ul> <li>void * <a class="el" href="a00957.html#a1414bcdb34c39ce82fc84bc8d5287966">operator new</a> (std::size_t) throw (std::bad_alloc) <li>void * <a class="el" href="a00957.html#a42dd076d3b3e93da8f34d769a8ab7351">operator new[]</a> (std::size_t) throw (std::bad_alloc) <li>void <a class="el" href="a00957.html#a581ac9487348557df9e0f9bd828952af">operator delete</a> (void *) throw () <li>void <a class="el" href="a00957.html#a67d8b49c4b42e4b5a3ee3ab7652aa18d">operator delete[]</a> (void *) throw () <li>void * <a class="el" href="a00957.html#a940b606c7824b4d5dd121199c277d629">operator new</a> (std::size_t, const std::nothrow_t &) throw () <li>void * <a class="el" href="a00957.html#aa52e87a6dd9c11bd86453368b9a9a3da">operator new[]</a> (std::size_t, const std::nothrow_t &) throw () <li>void <a class="el" href="a00957.html#a884c3e5c85bd918bc6b85784a04db1c0">operator delete</a> (void *, const std::nothrow_t &) throw () <li>void <a class="el" href="a00957.html#a1f7283b83eb51cb063a9d70bbf8f812f">operator delete[]</a> (void *, const std::nothrow_t &) throw () <li>void * <a class="el" href="a00957.html#afd025b3c34c0271ef5da767f52497b0a">operator new</a> (std::size_t, void *__p) throw () <li>void * <a class="el" href="a00957.html#a6fd882b9e7524ef4eba4a11708565cd9">operator new[]</a> (std::size_t, void *__p) throw () <li>void <a class="el" href="a00957.html#a41d83e8020f1d841b254be6ebeda92d2">operator delete</a> (void *, void *) throw () <li>void <a class="el" href="a00957.html#afea8decef8f286c8d73c89a1a81d4555">operator delete[]</a> (void *, void *) throw () </ul> <h2><a name="var-members"></a> Variables</h2> <ul> <li><a class="anchor" id="ae4b7b14b5246bacb54f2a4ae366ccd44"></a><!-- doxytag: member="new::nothrow" ref="ae4b7b14b5246bacb54f2a4ae366ccd44" args="" --> const nothrow_t <b>std::nothrow</b> </ul> <hr/><a name="details" id="details"></a><h2>Detailed Description</h2> <div class="textblock"><p>This is a Standard C++ Library header.</p> <p>The header <code>new</code> defines several functions to manage dynamic memory and handling memory allocation errors; see <a href="http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4">http://gcc.gnu.org/onlinedocs/libstdc++/18_support/howto.html#4</a> for more. </p> <p>Definition in file <a class="el" href="a00957_source.html">new</a>.</p> </div><hr/><h2>Function Documentation</h2> <a class="anchor" id="a581ac9487348557df9e0f9bd828952af"></a><!-- doxytag: member="new::operator delete" ref="a581ac9487348557df9e0f9bd828952af" args="(void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"></td><td>)</td> <td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a884c3e5c85bd918bc6b85784a04db1c0"></a><!-- doxytag: member="new::operator delete" ref="a884c3e5c85bd918bc6b85784a04db1c0" args="(void *, const std::nothrow_t &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::nothrow_t & </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a41d83e8020f1d841b254be6ebeda92d2"></a><!-- doxytag: member="new::operator delete" ref="a41d83e8020f1d841b254be6ebeda92d2" args="(void *, void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> <p>Definition at line <a class="el" href="a00957_source.html#l00107">107</a> of file <a class="el" href="a00957_source.html">new</a>.</p> </div> </div> <a class="anchor" id="a67d8b49c4b42e4b5a3ee3ab7652aa18d"></a><!-- doxytag: member="new::operator delete[]" ref="a67d8b49c4b42e4b5a3ee3ab7652aa18d" args="(void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete[] </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname"></td><td>)</td> <td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a1f7283b83eb51cb063a9d70bbf8f812f"></a><!-- doxytag: member="new::operator delete[]" ref="a1f7283b83eb51cb063a9d70bbf8f812f" args="(void *, const std::nothrow_t &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete[] </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::nothrow_t & </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="afea8decef8f286c8d73c89a1a81d4555"></a><!-- doxytag: member="new::operator delete[]" ref="afea8decef8f286c8d73c89a1a81d4555" args="(void *, void *)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void operator delete[] </td> <td>(</td> <td class="paramtype">void * </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> <p>Definition at line <a class="el" href="a00957_source.html#l00108">108</a> of file <a class="el" href="a00957_source.html">new</a>.</p> </div> </div> <a class="anchor" id="afd025b3c34c0271ef5da767f52497b0a"></a><!-- doxytag: member="new::operator new" ref="afd025b3c34c0271ef5da767f52497b0a" args="(std::size_t, void *__p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>__p</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> <p>Definition at line <a class="el" href="a00957_source.html#l00103">103</a> of file <a class="el" href="a00957_source.html">new</a>.</p> </div> </div> <a class="anchor" id="a940b606c7824b4d5dd121199c277d629"></a><!-- doxytag: member="new::operator new" ref="a940b606c7824b4d5dd121199c277d629" args="(std::size_t, const std::nothrow_t &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::nothrow_t & </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a1414bcdb34c39ce82fc84bc8d5287966"></a><!-- doxytag: member="new::operator new" ref="a1414bcdb34c39ce82fc84bc8d5287966" args="(std::size_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname"></td><td>)</td> <td> throw (<a class="el" href="a00389.html">std::bad_alloc</a>)</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="aa52e87a6dd9c11bd86453368b9a9a3da"></a><!-- doxytag: member="new::operator new[]" ref="aa52e87a6dd9c11bd86453368b9a9a3da" args="(std::size_t, const std::nothrow_t &)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new[] </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">const std::nothrow_t & </td> <td class="paramname"> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a42dd076d3b3e93da8f34d769a8ab7351"></a><!-- doxytag: member="new::operator new[]" ref="a42dd076d3b3e93da8f34d769a8ab7351" args="(std::size_t)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new[] </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname"></td><td>)</td> <td> throw (<a class="el" href="a00389.html">std::bad_alloc</a>)</td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> </div> </div> <a class="anchor" id="a6fd882b9e7524ef4eba4a11708565cd9"></a><!-- doxytag: member="new::operator new[]" ref="a6fd882b9e7524ef4eba4a11708565cd9" args="(std::size_t, void *__p)" --> <div class="memitem"> <div class="memproto"> <table class="memname"> <tr> <td class="memname">void* operator new[] </td> <td>(</td> <td class="paramtype">std::size_t </td> <td class="paramname">, </td> </tr> <tr> <td class="paramkey"></td> <td></td> <td class="paramtype">void * </td> <td class="paramname"><em>__p</em> </td> </tr> <tr> <td></td> <td>)</td> <td></td><td> throw ()<code> [inline]</code></td> </tr> </table> </div> <div class="memdoc"> <p>These are replaceable signatures:</p> <ul> <li>normal single new and delete (no arguments, throw <code>bad_alloc</code> on error)</li> <li>normal array new and delete (same)</li> <li><code>nothrow</code> single new and delete (take a <code>nothrow</code> argument, return <code>NULL</code> on error)</li> <li><code>nothrow</code> array new and delete (same)</li> </ul> <p>Placement new and delete signatures (take a memory address argument, does nothing) may not be replaced by a user's program. </p> <p>Definition at line <a class="el" href="a00957_source.html#l00104">104</a> of file <a class="el" href="a00957_source.html">new</a>.</p> </div> </div> </div> </div> <div id="nav-path" class="navpath"> <ul> <li class="navelem"><a class="el" href="a00957.html">new</a> </li> <li class="footer">Generated by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </li> </ul> </div> </body> </html>