首页 > 编程语言 >c++ 通过一个临时的空的智能指针(裸指针),交换两个智能指针(裸指针)的值,注意是交换值!!!!

c++ 通过一个临时的空的智能指针(裸指针),交换两个智能指针(裸指针)的值,注意是交换值!!!!

时间:2024-02-22 23:11:55浏览次数:25  
标签:sub2 uid int auto 交换 name 智能 指针

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

struct ParenTask // 父亲
{
    string name{};
};
typedef shared_ptr<ParenTask> ParenTaskPtr;

struct SubTask : ParenTask  // 孩子
{
    int uid{};
};
typedef shared_ptr<SubTask> SubTaskPtr;


int main()
{
    SubTaskPtr sub0;
    cout << "Hello World!" << endl;
    SubTaskPtr sub1 = make_shared<SubTask>();
    sub1->uid = 1;
    sub1->name = "HuiJtao";

    SubTaskPtr sub2 = make_shared<SubTask>();
    sub0 = sub2;
    std::swap(*(sub0.get()),*(sub1.get())); // 智能指针(交换方式)
    auto uid =  sub2->uid;
    auto name =  sub2->name;

    int *c;
    int *a = new int(10);
    int *b = new int(2);
    c = a;

    std::swap(*c,*b); // 裸指针(交换方式)
    auto aa = a;
    auto bb = b;
    return 0;
}

 

标签:sub2,uid,int,auto,交换,name,智能,指针
From: https://www.cnblogs.com/RedWetPlace/p/18028410

相关文章

  • 从国王游戏看邻项交换
    对于这道题,我们只来证明贪心的正确性,并不探究推导过程(这么玄学的贪心真有人能推导出来吗)。我们需要证明按照\(l_i\timesr_i\)是最优的。现在,我们钦定序列按照\(l_i\timesr_i\)排序,证明无论如何,从序列中交换若干对数都是不优的。首先,交换若干对数的本质就是不断选择一对数......
  • 开源大语言模型作为 LangChain 智能体
    概要开源大型语言模型(LLMs)现已达到一种性能水平,使它们适合作为推动智能体工作流的推理引擎:Mixtral甚至在我们的基准测试中超过了GPT-3.5,并且通过微调,其性能可以轻易的得到进一步增强。引言针对因果语言建模训练的大型语言模型(LLMs)可以处理广泛的任务,但它们经常......
  • C++ 第三节课 指针的使用
    #include<iostream>usingnamespacestd;voidshow(){cout<<"全局函数"<<endl;}structStu{inta;voidwrite_code(){cout<<"成员函数"<<endl;}};intmain(){cout<<......
  • AI智能分析网关V4智慧工厂视频智能监管与风险预警平台建设方案
    一、背景需求分析1)随着信息技术的迅猛发展和制造业竞争的加剧,智慧工厂成为了推动制造业转型升级的重要引擎。智慧工厂解决方案通过整合物联网、人工智能、大数据分析等先进技术,实现生产过程的智能化、自动化和高效化,为企业提供了更加灵活、智能的生产模式和管理方式。2)工厂生产......
  • 智能诊断设备迅为IMX6Q核心板解决方案
    在科技飞速发展的今天,智能诊断设备已经成为了医疗领域不可或缺的一部分。其中,这款IMX6Q核心板在智能诊断设备中也有广泛的使用。  IMX6Q核心板作为一款高性能的处理器,具有强大的数据处理能力和高效的能源管理功能。在智能诊断设备中,它可以快速处理大量的医疗数据,为医生提供准......
  • 跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级
    跨越千年医学对话:用AI技术解锁中医古籍知识,构建能够精准问答的智能语言模型,成就专业级古籍解读助手(LLAMA)介绍:首先在Ziya-LLaMA-13B-V1基线模型的基础上加入中医教材、中医各类网站数据等语料库,训练出一个具有中医知识理解力的预训练语言模型(pre-trainedmodel),之后在此基础上通过......
  • 【百度智能云】AIGC-文生图
    从地址https://console.bce.baidu.com/ai/#/ai/intelligentwriting/app/list创建应用,然后复制应用的APIKey和SecretKey到下文的API_KEY_AIGC和SECRET_KEY_AIGCimportjsonimportosimporttime#debugimporthttp.clientimportsslfromurllib.parseimport......
  • 【触想智能】工业平板知识分享|选购工业平板电脑需要注意的7大事项
    工业平板电脑是一种将显示器、工控主板、触摸屏和其他电子设备整合在一起的电子产品。它广泛应用于工业控制和自动化领域。在购买工业平板电脑时,需要考虑一些关键性因素,以确保工业平板电脑是安全可靠、运行稳定的。那么我们在购买工业平板电脑的时候,应该注意哪些问题呢?......
  • 读十堂极简人工智能课笔记09_读后总结与感想兼导读
    1. 基本信息十堂极简人工智能课10ShortLessonsinArtificialIntelligence&Robo[英]彼得·J.本特利著译林出版社,2023年5月出版1.1. 读薄率书籍总字数115千字,笔记总字数25104字。读薄率25104÷115000≈21.83%1.2. 读厚方向千脑智能脑机穿越未来呼啸而......
  • C++智能指针
    C++智能指针目录C++智能指针unique_ptr简单示例构造方法释放和重置shared_ptr构造方法常用函数构造重置和析构获得原始指针注意事项weak_ptr构造方法常用函数解决循环引用参考资料在C++中,内存的分配和释放都是由开发者手动实现的。这种方式虽然很灵活,但也十分容易出错,比如忘记释......