当前位置: 首页 > 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

相关文章:

  • 重学SpringBoot3-WebClient配置与使用详解
  • Fastapi + vue3 自动化测试平台(4)-- fastapi分页查询封装
  • 数据结构与算法之递归: LeetCode 131. 分割回文串 (Ts 版)
  • 深入探索C#中Newtonsoft.Json库的高级进阶之路
  • 【机器学习实战中阶】使用SARIMAX,ARIMA预测比特币价格,时间序列预测
  • kotlin的协程的基础概念
  • 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重点总结