文档章节

shared_ptr<>动态分配内存

rose_willow
 rose_willow
发布于 2017/09/04 15:46
字数 178
阅读 7
收藏 0

// #include <iostream>

#include <string>

#include <memory>

// class menu{

// public:

// menu() = default;

// menu(int one,int two):a(one),b(two){};

// int show(){

// // this->a = a;

// // this->b = b;

// return a+b;

// };

// private:

// int a;

// int b;

// };

int main()

{

// int *p = new int(2252);

// std::cout<<"new dynamic memory's address "<<p<<std::endl;

// std::cout<<"value of the dynamic space "<<*p<<std::endl;

// delete p;

// p = nullptr;

// std::cout<<"freed memory address "<<p<<std::endl;

// std::cout<<"freed memory value "<<*p<<std::endl;

// std::shared_ptrstd::string one = std::make_sharedstd::string("what the hell is going one ?");

// std::cout<<one<<std::endl;

// std::cout<<*one<<std::endl;

// std::shared_ptr<menu> two = std::make_shared<menu>(3,4);

// std::cout<<two<<std::endl;

// std::cout<<two->show()<<std::endl;

// std::cout<<two->show(333,444)<<std::endl;

std::unique_ptr<int> up;

up.reset(new int);

// std::cout<<"up="<<up<<std::endl;

// std::cout<<"*up="<<*up<<std::endl;

*up = 20;

std::cout<<"*up="<<*up<<std::endl;

// std::cout<<"up ="<<up<<std::endl;

*up = 30;

std::cout<<"*up ="<<*up<<std::endl;

up.reset();

std::cin.get();

std::cin.get();

return 0;

}

© 著作权归作者所有

共有 人打赏支持
rose_willow
粉丝 0
博文 90
码字总数 15682
作品 0
石家庄
运营/编辑
动态内存与智能指针

前言 1.生命周期 全局对象:程序启动时分配,程序结束时销毁 局部自动对象:执行流进入其定义的块时分配,执行流退出其定义的块时销毁 局部static对象:程序启动时分配(但在其定义的块或作用...

种地瓜
2016/04/05
58
0
c++ 智能指针及 循环引用问题

c++智能指针介绍 由于 C++ 语言没有自动内存回收机制,程序员每次 new 出来的内存都要手动 delete,比如流程太复杂,最终导致没有 delete,异常导致程序过早退出,没有执行 delete 的情况并不...

gfsfg8545
2014/04/07
0
0
C++(浅析)智能指针及C#GC(垃圾回收机制)分析[图]

C++(浅析)智能指针及C#GC(垃圾回收机制)分析[图] c++中我们常常使用运算符new和delete来分配和释放动态内存,然而动态内存的管理非常容易出错 使用new 和delete 管理内存存在三个常见问题: ...

原创小博客
08/06
0
0
《Effective C++》 读书笔记之三 资源管理

《Effective C++》 读书笔记之三 资源管理 准备知识: 所谓资源就是,一旦用了它,将来必须还给系统。最常用的资源是动态分配内存,其他常见的资源有文件描述器、互斥锁、图形界面的字形和笔...

wbf961127
2017/11/14
0
0
Qt 智能指针学习

从内存泄露开始? 很简单的入门程序,应该比较熟悉吧 ^_^ #include include int main(int argc, char *argv[]){ } 在 从 Qt 的 delete 说开来 一文中,我们提到这个程序存在内存泄露(表现就是...

晨曦之光
2012/05/08
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

这些Spring中的设计模式,你都知道吗?

设计模式作为工作学习中的枕边书,却时常处于勤说不用的尴尬境地,也不是我们时常忘记,只是一直没有记忆。 Spring作为业界的经典框架,无论是在架构设计方面,还是在代码编写方面,都堪称行...

Java填坑之路
22分钟前
1
0
Spring Aop原理之Advisor过滤

在上文(Spring Aop之Advisor解析)中我们讲到,Spring Aop对目标bean的代理主要分为三个步骤:获取所有的Advisor,过滤当前bean可应用的Advisor和使用Advisor为当前bean生成代理对象,并且上文...

爱宝贝丶
33分钟前
0
0
JMockit学习教程

1 JMockit中文网 我觉得如果仅仅是开发自测的话,把JMockit中文网认真看一遍,就可以在项目中使用JMockit了。 http://jmockit.cn/index.htm 2 JMockit中文教程 官方文档中文版。对于不喜欢看...

SuperHeroes
45分钟前
0
0
Linux服务器几乎从不采用Arch Linux?

我们见得多的Linux服务器系统一般都是什么Ubuntu Server啊,什么Cent OS啊,什么Fedora啊,或者企业采用的Red Hat啊,为什么几乎没有Arch Linux呢?下面我将从若干个方面指出Arch Linux在服务...

linux-tao
56分钟前
0
0
js 函数柯里化 闭包

参考 https://mp.weixin.qq.com/s/GEHL3jarDdAAcr5tQGjmDg 一个统计求和的函数 需要知道整个数组的信息,然后遍历求值 function countMoney() { let money = 0 // 温馨提示:arguments...

阿豪boy
58分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部