#include <iostream>
#include <string>
#include <memory>
class Item
{
public:
Item(std::string str):name(str){}
~Item(){std::cout<< name << " unitialize!" <<std::endl;}
void dump(){std::cout<< "I'am " << name <<std::endl;}
static Item *CreateItem(std::string str)
{
Item *pItem = new Item(str);
return pItem;
}
private:
std::string name;
}; int main()
{
Item *pi = Item::CreateItem("common ptr");
pi->dump();
delete pi; std::auto_ptr<Item> ap1(Item::CreateItem("auto ptr"));
ap1.get()->dump();
std::auto_ptr<Item> ap2 = ap1;
ap2.get()->dump(); // 此时 auto ptr 对象已经不属于 ap1 std::shared_ptr<Item> sp1(Item::CreateItem("shared ptr"));
sp1.get()->dump();
std::shared_ptr<Item> sp2 = sp1;
sp2.get()->dump();
return ;
}

C++ 自动指针 共享指针的更多相关文章

  1. c++ 智能指针、函数指针和指针函数

    智能指针: 1.内存泄漏memory leak :是指程序在申请内存后,无法释放已申请的内存空间,一次内存泄漏似乎不会有大的影响,但内存泄漏堆积后的后果就是内存溢出. 2.内存溢出 out of me ...

  2. 理清C++常量指针和指针常量这团乱麻

    写在前面: 与其说C++中的常量指针和指针常量是一块很有嚼头的语法糖,不如说它是一块相当难啃的骨头.其实本来没什么,这无非是const int *p与int* const p的区别, 但一涉及到起名字 ...

  3. C++ 必知必会:条款15 成员的指针并非指针

    指向类成员的类成员的指针说是“指针”,其实是不合适的,因为他既不包含地址,其行为也不像指针 常规的指正,包含地址,对其解应用可以得到该指针包含地址所指向的对象 1: int a = 12: 2: in ...

  4. 不可不表的OSG智能指针之强指针与弱指针 《转载》

    不可不表的OSG智能指针之强指针与弱指针 <转载> 使用OSG的人都知道OSG的内存管理方式采用了智能指针,通过智能指针的方式让OSG自己处理对象的销毁工作.在OSG中有两个智能指针类型, ...

  5. c/c++ 复习基础要点01-const指针、指针函数 函数指针、new/delete与malloc/free区别与联系

    1.      引用本身是有指针实现的:引用为只读指针 例子: int d=123; int& e=d;    //引用 int * const e=d; //只读指针,e指向d,不可修改e指 ...

  6. (C/C++)区别:数组与指针,指针与引用

    1.数组跟指针的区别 数组要么在静态存储区被创建(如全局数组),要么在栈上被创建.数组名对应着(而不是指向)一块内存,其地址与容量在生命期内保持不变,只有数组的内容可以改变. 指针可以随时指向任意类型 ...

  7. C++的空指针、野指针和指针赋值NULL.md

    1.空指针和野指针 http://blog.csdn.net/fu_zk/article/details/21030607 空指针常量 一个表示0值的整数常量,叫做空指针常量.例如:0.0L.1-1( ...

  8. C++语言中数组指针和指针数组彻底分析

    #################################                              ##       基本知识               ##        ...

  9. 《挑战30天C++入门极限》C/C++中字符指针数组及指向指针的指针的含义

        C/C++中字符指针数组及指向指针的指针的含义 就指向指针的指针,很早以前在说指针的时候说过,但后来发现很多人还是比较难以理解,这一次我们再次仔细说一说指向指针的指针. 先看下面的代码,注意看 ...

随机推荐

  1. c# 模拟 网页实现12306登陆、自动刷票、自动抢票完全篇

    这一篇文章,我将从头到尾教大家使用c#模拟网页面登陆12306网站,自动刷票,选择订票人,到最后一步提交订单.研究过HTTP协议的童鞋们都知道,我们在访问网站时,是有两种方式的,POST和GET方式, ...

  2. http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

    http://love3400wind.blog.163.com/blog/static/7963080120132794359703/

  3. POJ1845 Sumdiv(求所有因数和+矩阵快速幂)

    题目问$A^B$的所有因数和. 根据唯一分解定理将A进行因式分解可得:A = p1^a1 * p2^a2 * p3^a3 * pn^an.A^B=p1^(a1*B)*p2^(a2*B)*...*pn^ ...

  4. emacs yasnippet

    首先安装emacs 然后下载yasnippet-bundle-0.6.1c.el.tgz解压 在~/.emacs.d/文件夹下新建一个文件plug,一般是新建一个plugins但是我到下面有这个文件夹 ...

  5. HDU 2653 (记忆化BFS搜索+优先队列)

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=2653 题目大意:迷宫中有普通点和陷阱.其中普通点可以走可以飞,但是陷阱只能飞.走耗时1,飞耗时2.但 ...

  6. Quartz与Spring整合进行热部署的实现(一)

    先来几张实现图 任务管理页 新建任务管理.目前实现叫简单的需求...若各位同学要实现复杂的设计...quartz都有提供强大的支持.小弟目前的需求做到这已经够用了. 接下来.我们如何实现quartz的 ...

  7. iOS5中UIViewController的新方法

    iOS5中UIViewController的新方法 前言 在苹果的 WWDC2011 大会视频的<Session 101 - What's New in Cocoa> 和<Sessi ...

  8. NSJSONSerialization介绍

      ios5中apple增加了解析JSON的api——NSJSONSerialization.网上已经有人做过测试,NSJSONSerialization在效率上完胜SBJSON.TouchJSON. ...

  9. Area Under roc Curve(AUC)

    AUC是一种用来度量分类模型好坏的一个标准. ROC分析是从医疗分析领域引入了一种新的分类模型performance评判方法. ROC的全名叫做Receiver Operating Character ...

  10. alpha发布用户数

    小组名称:天天向上 小组成员:张政.张金生.林莉.胡丽娜 项目内容:连连看 在连连看alpha发布的24小时内,我们将连连看安装包放入各个组员所加入的QQ群内,推荐朋友试玩,用户数达到9人. 现在有A ...