首页 > 代码库 > 第二讲 auto_ptr智能指针
第二讲 auto_ptr智能指针
// STL.cpp : 定义控制台应用程序的入口点。////智能指针在其生命周期结束后会自动调用delete#include "stdafx.h"#include<iostream>#include<memory>using namespace std;class WebSite{public: WebSite(int x){i = x;cout << i << "调用构造函数" << endl;} ~WebSite(){cout << "调用析构函数" << endl;} void output(){cout << "output" << endl;}private: int i;};int _tmain(int argc, _TCHAR* argv[]){ auto_ptr<WebSite> autop1(new WebSite(4));//定义了一个WebSite类的指针autop auto_ptr<WebSite> autop2(new WebSite(7)); autop1->output(); cout << autop1.get() << endl; //得到auto的一个指针 cout << autop2.get() << endl; //autop1.reset(); //将auto指向NULL //cout << autop1.get() << endl; ////autop1->output(); //reset之后auto不可以再使用了 autop1 = autop2; //析构原来autop1指向的地址,将autop2指向的之地址赋给autop1。 //也就是说智能指针只能对一个对象并保持该地址 cout << autop1.get() << endl; cout << autop2.get() << endl; return 0;}
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。