⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 auto_ptr.html

📁 从www.CppReference.com打包的C++参考手册
💻 HTML
字号:
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><head>  <meta name="generator" content=  "HTML Tidy for Linux/x86 (vers 1 September 2005), see www.w3.org">  <title>auto_ptr</title>  <link href="../cppreference.css" rel="stylesheet" type="text/css"></head><body><table>  <tr>  <td>  <div class="body-content">  <div class="header-box">    <a href="../index.html">cppreference.com</a> &gt; <a href=    "index.html">Miscellaneous C++</a> &gt; <a href=    "auto_ptr.html">auto_ptr</a>  </div>  <div class="name-format">    auto_ptr  </div>  <div class="syntax-name-format">    Syntax:  </div>  <pre class="syntax-box">  #include &lt;memory&gt;  auto_ptr&lt;class <a href="../containers.html">TYPE</a>&gt; name</pre>  <p>The auto_ptr class allows the programmer to create pointers that  point to other objects. When auto_ptr pointers are destroyed, the  objects to which they point are also destroyed.</p>  <p>The auto_ptr class supports normal pointer operations like =, *,  and -&gt;, as well as two functions <a href=  "../containers.html">TYPE</a>* get() and <a href=  "../containers.html">TYPE</a>* release(). The get() function returns  a pointer to the object that the auto_ptr points to. The release()  function acts similarily to the get() function, but also relieves the  auto_ptr of its memory destruction duties. When an auto_ptr that has  been released goes out of scope, it will not call the destructor of  the object that it points to.</p>  <p><strong>Warning</strong>: It is generally a <strong>bad  idea</strong> to put auto_ptr objects inside C++ STL containers. C++  containers can do funny things with the data inside them, including  frequent reallocation (when being copied, for instance). Since  calling the destructor of an auto_ptr object will free up the memory  associated with that object, any C++ container reallocation will  cause any auto_ptr objects to become invalid.</p>  <div class="related-examples-format">    Example code:  </div>  <div class="related-examples">    <pre class="example-code"> #include &lt;memory&gt; using namespace std;            class MyClass { public:   MyClass() {} // nothing   ~MyClass() {} // nothing   void myFunc() {} // nothing };              int main() {   auto_ptr&lt;MyClass&gt; ptr1(new MyClass), ptr2;                ptr2 = ptr1;   ptr2-&gt;myFunc();              MyClass* ptr = ptr2.get();              ptr-&gt;myFunc();               return 0; }              </pre>  </div>  </div>  </td>    </tr>  </table></body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -