当前位置: 首页 > article >正文

std::move

转换成shared_ptr类型
如果 unique_ptr 为右值,就可以将它赋值给 shared_ptr。因为 shared_ptr 包含一个显式构造函数,可用于将右值 unqiue_ptr 转换为 shared_ptr,shared_ptr 将接管原来归 unique_ptr 所拥有的对象。

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

auto myfunc()
{
    return unique_ptr<string>(new string("hello")); // 临时对象都是右值
}

int main()
{
    shared_ptr<string> sp = myfunc(); // 这里系统会为shared_ptr创建控制块

    return 0;
}

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

int main()
{
    unique_ptr<string> up(new string("hello"));
    shared_ptr<string> sp = std::move(up);

    return 0;
}
===========================================================================================================================================================================================================================


http://www.kler.cn/a/159285.html

相关文章:

  • (一)Ubuntu20.04服务器端部署Stable-Diffusion-webui AI绘画环境
  • react 中 useEffect Hook 作用
  • Android Osmdroid + 天地图 (二)
  • Odoo :一款免费开源的日化行业ERP管理系统
  • Exploring Defeasible Reasoning in Large Language Models: A Chain-of-Thought A
  • Unity教程(十八)战斗系统 攻击逻辑
  • C++h弧度转成角度
  • 备战春招——12.05算法
  • IntelRealSense深度相机D455在ROS1运行中的消息内容
  • Linux定时循环备份指定文件或文件夹,每月永久备份留1份
  • Linux基础命令(测试相关)
  • Qt篇——QChartView实现鼠标滚轮缩放、鼠标拖拽平移、鼠标双击重置缩放平移、曲线点击显示坐标
  • 【Polar靶场WEB签到】
  • ES通过抽样agg聚合性能提升3-5倍
  • 【算法思考记录】力扣2477. 到达首都的最少油耗【JavaScript,深度优先搜索】
  • flink运行报Exception in thread “main“ java.lang.IllegalStateException
  • Linux 基础知识整理(三)
  • 【开源】基于Vue.js的公司货物订单管理系统
  • Android Studio的笔记--三元表达式、布尔运算符、与() 或(||) 非(!)
  • 一、技术体系结构
  • 圈子社交系统:打破时间与空间的限制。APP小程序H5三端源码交付,支持二开!
  • Python:可以做什么?
  • Go中的延时执行魔法:深入浅出defer用法
  • (2)(2.4) TerraRanger Tower/Tower EVO(360度)
  • HTML5 基础总结
  • 周周爱学习之Redis重点总结