shared_ptr<>动态分配内存

// #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;

}

转载于:https://my.oschina.net/Rosewillow/blog/1528672

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值