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

📄 autoptr2.cpp

📁 一些STL的使用范例
💻 CPP
字号:
//autoptr2.cpp
//展示const auto_ptr的特性

//By phoenixinter
//On 11/23/2004

#include<iostream>
#include<memory>
using namespace std;

/* define output operator for auto_ptr
 * -print object value or NULL
 */
 
template <class T>
ostream& operator <<(ostream& strm,const auto_ptr<T>& p)
{
    //does p own an object?
    if (p.get()==NULL) strm<<"NULL";
    else strm<<*p;
    return strm;
}

int main()
{
    const auto_ptr<int> p(new int(42));
    const auto_ptr<int> q(new int(0));
    const auto_ptr<int> r;
    cout<<"after initialization:"<<endl;
    cout<<"p:"<<p<<endl;
    cout<<"q:"<<q<<endl;
    cout<<"r:"<<r<<endl;
    *q=*p;
    //*r=*p;            //ERROR:undefined behavior
    *p=-77;
    cout<<"after assigning values:"<<endl;
    cout<<"p:"<<p<<endl;
    cout<<"q:"<<q<<endl;
    cout<<"r:"<<r<<endl;
    
    //q=p;            //ERROR at compile time
    //r=p;            //ERROR at compile time
    
    system("pause");
    return 0;
}

⌨️ 快捷键说明

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