爆款云主机2核4G限时秒杀,88元/年起!
查看详情

活动

天翼云最新优惠活动,涵盖免费试用,产品折扣等,助您降本增效!
热门活动
  • 618智算钜惠季 爆款云主机2核4G限时秒杀,88元/年起!
  • 免费体验DeepSeek,上天翼云息壤 NEW 新老用户均可免费体验2500万Tokens,限时两周
  • 云上钜惠 HOT 爆款云主机全场特惠,更有万元锦鲤券等你来领!
  • 算力套餐 HOT 让算力触手可及
  • 天翼云脑AOne NEW 连接、保护、办公,All-in-One!
  • 中小企业应用上云专场 产品组合下单即享折上9折起,助力企业快速上云
  • 息壤高校钜惠活动 NEW 天翼云息壤杯高校AI大赛,数款产品享受线上订购超值特惠
  • 天翼云电脑专场 HOT 移动办公新选择,爆款4核8G畅享1年3.5折起,快来抢购!
  • 天翼云奖励推广计划 加入成为云推官,推荐新用户注册下单得现金奖励
免费活动
  • 免费试用中心 HOT 多款云产品免费试用,快来开启云上之旅
  • 天翼云用户体验官 NEW 您的洞察,重塑科技边界

智算服务

打造统一的产品能力,实现算网调度、训练推理、技术架构、资源管理一体化智算服务
智算云(DeepSeek专区)
科研助手
  • 算力商城
  • 应用商城
  • 开发机
  • 并行计算
算力互联调度平台
  • 应用市场
  • 算力市场
  • 算力调度推荐
一站式智算服务平台
  • 模型广场
  • 体验中心
  • 服务接入
智算一体机
  • 智算一体机
大模型
  • DeepSeek-R1-昇腾版(671B)
  • DeepSeek-R1-英伟达版(671B)
  • DeepSeek-V3-昇腾版(671B)
  • DeepSeek-R1-Distill-Llama-70B
  • DeepSeek-R1-Distill-Qwen-32B
  • Qwen2-72B-Instruct
  • StableDiffusion-V2.1
  • TeleChat-12B

应用商城

天翼云精选行业优秀合作伙伴及千余款商品,提供一站式云上应用服务
进入甄选商城进入云市场创新解决方案
办公协同
  • WPS云文档
  • 安全邮箱
  • EMM手机管家
  • 智能商业平台
财务管理
  • 工资条
  • 税务风控云
企业应用
  • 翼信息化运维服务
  • 翼视频云归档解决方案
工业能源
  • 智慧工厂_生产流程管理解决方案
  • 智慧工地
建站工具
  • SSL证书
  • 新域名服务
网络工具
  • 翼云加速
灾备迁移
  • 云管家2.0
  • 翼备份
资源管理
  • 全栈混合云敏捷版(软件)
  • 全栈混合云敏捷版(一体机)
行业应用
  • 翼电子教室
  • 翼智慧显示一体化解决方案

合作伙伴

天翼云携手合作伙伴,共创云上生态,合作共赢
天翼云生态合作中心
  • 天翼云生态合作中心
天翼云渠道合作伙伴
  • 天翼云代理渠道合作伙伴
天翼云服务合作伙伴
  • 天翼云集成商交付能力认证
天翼云应用合作伙伴
  • 天翼云云市场合作伙伴
  • 天翼云甄选商城合作伙伴
天翼云技术合作伙伴
  • 天翼云OpenAPI中心
  • 天翼云EasyCoding平台
天翼云培训认证
  • 天翼云学堂
  • 天翼云市场商学院
天翼云合作计划
  • 云汇计划
天翼云东升计划
  • 适配中心
  • 东升计划
  • 适配互认证

开发者

开发者相关功能入口汇聚
技术社区
  • 专栏文章
  • 互动问答
  • 技术视频
资源与工具
  • OpenAPI中心
开放能力
  • EasyCoding敏捷开发平台
培训与认证
  • 天翼云学堂
  • 天翼云认证
魔乐社区
  • 魔乐社区

支持与服务

为您提供全方位支持与服务,全流程技术保障,助您轻松上云,安全无忧
文档与工具
  • 文档中心
  • 新手上云
  • 自助服务
  • OpenAPI中心
定价
  • 价格计算器
  • 定价策略
基础服务
  • 售前咨询
  • 在线支持
  • 在线支持
  • 工单服务
  • 建议与反馈
  • 用户体验官
  • 服务保障
  • 客户公告
  • 会员中心
增值服务
  • 红心服务
  • 首保服务
  • 客户支持计划
  • 专家技术服务
  • 备案管家

了解天翼云

天翼云秉承央企使命,致力于成为数字经济主力军,投身科技强国伟大事业,为用户提供安全、普惠云服务
品牌介绍
  • 关于天翼云
  • 智算云
  • 天翼云4.0
  • 新闻资讯
  • 天翼云APP
基础设施
  • 全球基础设施
  • 信任中心
最佳实践
  • 精选案例
  • 超级探访
  • 云杂志
  • 分析师和白皮书
  • 天翼云·创新直播间
市场活动
  • 2025智能云生态大会
  • 2024智算云生态大会
  • 2023云生态大会
  • 2022云生态大会
  • 天翼云中国行
天翼云
  • 活动
  • 智算服务
  • 产品
  • 解决方案
  • 应用商城
  • 合作伙伴
  • 开发者
  • 支持与服务
  • 了解天翼云
      • 文档
      • 控制中心
      • 备案
      • 管理中心

      C++ 高级数据类型

      首页 知识中心 软件开发 文章详情页

      C++ 高级数据类型

      2023-07-04 07:08:08 阅读次数:429

      C++,数据类型

      C++ 高级数据类型

      本文先介绍C++ 高级数据类型:结构体、联合(公用)、枚举。最后介绍typedef。

       结构体(structure)类型

      C++里面使用结构体类型能够将不同的数据类型组合成为一个整体——结构体类型。

      使用结构体数据类型的主要目的是:将一些零散的信息给整合在一块,方便管理。

      例如一个学生实体,有姓名、身高、年龄、学号……等属性,如果使用基本数据类型,那么得定义很多歌变量,并且这些变量之间“表面上”看起来是没有联系的。

      结构体类型的声明

      必须首先声明结构体,然后才能够定义该类型的变量实例。结构体就是由不同数据类型也可以是相同数据类型的若干数据组成的结合体,结构体声明的关键字为struct。

      有四种声明形式

      ☆第一种语法表示

      struct 结构体名称{

         数据类型 成员名1;

         数据类型 成员名2;

                 …

                 数据类型 成员名n;

      };

      其中最后那个分号也不要忘记。

      结构体类型例1:

      #include<iostream>

      #include <cstring> //因为后面用到C风格字符串操作如strcpy函数

      using namespace std;

      struct Student{

          int sNo;

          char name[10];

      };

      int main(){

          struct Student stu;

             //stu.name="zhangsan";//对stu.name这种赋值方式是不对的

             strcpy(stu.name, "zhangsan"); //对stu.name可如此赋值

             stu.sNo=18;

             cout<<stu.name<<endl;

             cout<<stu.sNo<<endl;

            

             return 0;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

       

      ☆第二种语法表示

      typedef struct 结构体名称{

         数据类型 成员名1;

         数据类型 成员名2;

                …

                数据类型 成员名n;

      }结构体名称别名;

      其中typedef关键字的作用就是声明数据类型的别名,本文后面还将介绍typedef。

      结构体类型例2:

      #include<iostream>

      #include <cstring> //因为后面用到C风格字符串操作如strcpy函数

      using namespace std;

       typedef struct Student{

          int sNo;

          char name[10];

      } stud;

      int main(){

          struct Student stu;//方式一

             stud stu1;//方式二,以结构体别名声明一个结构变量stu1,此处可以省略关键字struct

             //stu.name="zhangsan"; //这种赋值方式是不对的

             strcpy(stu.name, "zhangsan"); //对stu.name可如此赋值

             stu.sNo=18;

             stu1.sNo=19;

             cout<<stu.name<<endl;

             cout<<stu.sNo<<endl;

             cout<<stu1.sNo<<endl;

            

             return 0;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

       

      ☆第三种方式

      struct 结构体名称{

         数据类型 成员名1;

         数据类型 成员名2;

                 …

                 数据类型 成员名n;

      }结构体变量;

       

      结构体类型例3:

      #include<iostream>

      #include <cstring> //因为后面用到C风格字符串操作如strcpy函数

      using namespace std;

       struct Student{

          int sNo;

          char name[10];

      } stu;//这里相当于直接声明并定义了一个结构体变量stu

      int main(){

          //struct Student stu;//错误,这里就不可以再这样声明变量

             //stud stu1;///错误,

            

             //stu.name="zhangsan";//这种赋值方式是不对的

             strcpy(stu.name, "zhangsan"); //对stu.name可如此赋值

             stu.sNo=18; 

             cout<<stu.name<<endl;

             cout<<stu.sNo<<endl;

            

             return 0;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

       

      ☆第四种方式

      struct {

         数据类型 成员名1;

         数据类型 成员名2;

                …

                 数据类型 成员名n;

      }结构体变量名;

      这是匿名(anonymous)定义方式,这种方式可能提示Warning(警告),建议不使用。

      结构体类型例4:

      #include<iostream>

      using namespace std;

      struct {

          int sNo;

          char name[10];

      } stu1,stu2;//这里相当于直接声明并定义了2个结构体变量stu1,stu2

      int main(){   

             strcpy(stu1.name, "zhangsan");

             stu1.sNo=18;

             stu2.sNo=8;

             cout<<stu1.name<<endl;

             cout<<stu1.sNo<<endl;

             cout<<stu2.sNo<<endl;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

       

       

      可以先声明了结构体类型以后再定义结构体变量,也可以把它们放在一起。

      结构体成员的使用形式是:结构体变量名.成员名。

      在定义结构体变量时可以直接赋初值,例:

      #include<iostream>

      #include <cstring> //因为后面用到C风格字符串操作如strcpy函数

      using namespace std;

      struct student{

          int sNo;

          char name[10];

      } stu={18,"zhangsan"};  // 声明结构体类型的同时,定义结构体类型的变量,并赋初值。

       

      int main(){

          cout<<stu.sNo<<endl;

             cout<<stu.name <<endl;

            

             return 0;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

       

       

      结构体一经声明,后面的程序中就可以像基本数据类型那样,使用结构体类型名类定义结构体类型的变量了。

       

      结构体中的数据成员亦可以是另外一个结构体变量:

      struct Date{

          int year;

          int month;

          int day;

      };

       

      struct Book {

          int no;

          char name[40];

          char publisher[20];

          float price;

          struct Date pub_date;    // Date结构体

      };

       

      结构体和指针变量

      一个指针变量当用来指向一个结构变量时,称之为结构指针变量。结构指针变量中的值是所指向的结构变量的首地址。通过结构指针即可访问该结构变量,这与数组指针和函数指针的情况是相同的。

      结构指针变量说明的一般形式为:

      struct 结构名 *结构指针变量名

      例如,在前面的例题中定义了stu这个结构,如要说明一个指向stu的指针变量pstu,可写为:

      struct stu *pstu;

      当然也可在定义stu结构时同时说明pstu。与前面讨论的各类指针变量相同,结构指针变量也必须要先赋值后才能使用。

      赋值是把结构变量的首地址赋予该指针变量,不能把结构名赋予该指针变量。如果boy是被说明为stu类型的结构变量,则:

      pstu=&boy

      是正确的,而:

      pstu=&stu

      是错误的。

      结构名和结构变量是两个不同的概念,不能混淆。结构名只能表示一个结构形式,编译系统并不对它分配内存空间。只有当某变量被说明为这种类型的结构时,才对该变量分配存储空间。因此上面&stu这种写法是错误的,不可能去取一个结构名的首地址。有了结构指针变量,就能更方便地访问结构变量的各个成员。

      其访问的一般形式为:

      (*结构指针变量).成员名

      其中,(*结构指针变量)两侧的括号不可少。

      或:

      结构指针变量->成员名

      其中,->是间接成员运算符(也称为箭头运算符)

      例如:

      (*pstu).num

      或者:

      pstu->num

      应该注意(*pstu)两侧的括号不可少,因为成员符“.”的优先级高于“*”。如去掉括号写作*pstu.num则等效于*(pstu.num),这样,意义就完全不对了。

      下面通过例子来说明结构指针变量的具体说明和使用方法。

      例

      #include <iostream>

      using namespace std;

      struct stu

      {

          int num;

          //char *name;

          char name[20];

          char sex;

          float score;

      } boy1={102,"Li Ming",'M',78.5},*pstu;

       

      main()

      {

          pstu=&boy1;

       

          cout<<"num=" << boy1.num <<"  Name=" << boy1.name<<endl;

          cout<<"sex=" << boy1.sex <<"  Score=" << boy1.score<<endl; 

          cout<<"num=" << (*pstu).num <<"  Name=" << (*pstu).name<<endl;

          cout<<"sex=" << (*pstu).sex <<"  Score=" << (*pstu).score<<endl;

          cout<<"num=" << pstu->num <<"  Name=" << pstu->name<<endl;

          cout<<"sex=" << pstu->sex <<"  Score=" << pstu->score<<endl;

       

          return 0;

      }

       

      运行之,参见下图:

      C++ 高级数据类型

      本例程序定义了一个结构stu,定义了stu类型结构变量boy1并作了初始化赋值,还定义了一个指向stu类型结构的指针变量pstu。在main函数中,pstu被赋予boy1的地址,因此pstu指向boy1。然后在printf语句内用三种形式输出boy1的各个成员值。从运行结果可以看出:

      结构变量.成员名

      (*结构指针变量).成员名

      结构指针变量->成员名

      这三种用于表示结构成员的形式是完全等效的。

       

       

      联合(Union)

      联合是类型不同,数目固定的若干个变量的集合。组成联合的若干个成员是共用一个内存地址。

      联合(Union) 使得同一段内存可以被按照不同的数据类型来访问,数据实际是存储在同一个位置的。它的声明和使用看起来与结构(structure)十分相似,但实际功能是完全不同的:

      union model_name {

          type1 element1;

          type2 element2;

          type3 element3;

          …

      } object_name;

      union 中的所有被声明的元素占据同一段内存空间,其大小取声明中最长的元素的大小。

      union  date

       {

           char  c;

           int   i;

           double  d;

       } ;

      union  date  d1,*p;

      联合成员的表示方法:

      一般联合变量成员:<联合变量名>.<联合成员名>    d1.c

      指向联合变量指针成员:<指向联合变量指针名> -> <联合成员名> p->c

      联合变量的赋值:

      一般联合变量赋值:  d1.c=‘m';

      指向联合变量指针赋值: p ->c='m';

      注意:

      联合成员共址的特征使得只能对联合变量成员赋值,不能对联合变量赋值。

       

      又如:

      union mytypes_t {

          char c;

          int i;

          float f;

      } mytypes;

      定义了3个元素:

      mytypes.c

      mytypes.i

      mytypes.f

      每一个是一种不同的数据类型。既然它们都指向同一段内存空间,改变其中一个元素的值,将会影响所有其他元素的值。

       

      union 的用途之一是将一种较长的基本类型与由其它比较小的数据类型组成的结构(structure)或数组(array)联合使用,例如:

      union mix_t{

          long l;

          struct {

              short hi;

              short lo;

          } s;

          char c[4];

      } mix;

      以上例子中定义了3个名称:mix.l, mix.s 和 mix.c,我们可以通过这3个名字来访问同一段4 bytes长的内存空间。至于使用哪一个名字来访问,取决于我们想使用什么数据类型,是long, short 还是 char 。

       

      匿名联合(Anonymous union)

      在 C++ 我们可以选择使联合(union)匿名。如果我们将一个union包括在一个结构(structure)的定义中,并且不赋予它object名称 (就是跟在花括号{}后面的名字),这个union就是匿名的。这种情况下我们可以直接使用union中元素的名字来访问该元素,而不需要再在前面加 union对象的名称。在下面的例子中,我们可以看到这两种表达方式在使用上的区别:

      union

      anonymous union

      struct {

          char title[50];

          char author[50];

          union {

              float dollars;

              int yens;

          } price;

      } book;

      struct {

          char title[50];

          char author[50];

          union {

              float dollars;

              int yens;

          };

      } book;

      以上两种定义的唯一区别在于左边的定义中我们给了union一个名字price,而在右边的定义中我们没给。在使用时的区别是当我们想访问一个对象(object)的元素dollars 和yens 时,在前一种定义的情况下,需要使用:

      book.price.dollars

      book.price.yens

      而在后面一种定义下,我们直接使用:

      book.dollars

      book.yens

      再一次提醒,因为这是一个联合(union),域dollars 和yens 占据的是同一块内存空间,所以它们不能被用来存储两个不同的值。也就是你可以使用一个dollars 或yens的价格,但不能同时使用两者。

       

      枚举(enumeration)

      如果一个变量你需要几种可能存在的值,那么就可以被定义成为枚举类型。之所以叫枚举就是说将变量或者叫对象可能存在的情况也可以说是可能的值一一例举出来。

      枚举(Enumerations)可以用来生成一些任意类型的数据,不只限于数字类型或字符类型,甚至常量true 和false。它的定义形式如下:

      enum model_name {

          value1,

          value2,

          value3,

          …

      } object_name;

      例如,我们可以定义一种新的变量类型叫做color_t 来存储不同的颜色:

      enum colors_t {black, blue, green, cyan, red, purple, yellow, white};

      注意在这个定义里我们没有使用任何基本数据类型。换句话说,我们创造了一种的新的数据类型,而它并没有基于任何已存在的数据类型:类型color_t,花括号{}中包括了它的所有的可能取值。例如,在定义了colors_t 列举类型后,我们可以使用以下表达式 :

      colors_t mycolor;

      mycolor = blue;

      if (mycolor == green) mycolor = red;

      实际上,我们的枚举数据类型在编译时是被编译为整型数值的,而它的数值列表可以是任何指定的整型常量 。如果没有指定常量,枚举中第一个列出的可能值为0 ,后面的每一个值为前面一个值加1。因此,在我们前面定义的数据类型colors_t 中,black 相当于0, blue 相当于 1, green 相当于2 ,后面依此类推。

      如果我们在定义枚举数据类型的时候明确指定某些可能值(例如第一个)的等价整数值,后面的数值将会在此基础上增加,例如:

      enum months_t { january=1, february, march, april,

                      may, june, july, august,

                      september, october, november, december} y2k;

      在这个例子中,枚举类型months_t的变量y2k 可以是12种可能取值中的任何一个,从january 到 december ,它们相当于数值1 到 12,而不是0 到 11 ,因为我们已经指定 january 等于1。

       

       

      typedef

      typedef用于给已有的类型一个新的名字,即C++ 允许我们在现有数据类型的基础上定义我们自己的数据类型。我们将用关键字typedef来实现这种定义,它的形式(格式)是:

      typedef existing_type new_type_name;

      这里 existing_type 是C++ 基本数据类型或其它已经被定义了的数据类型,new_type_name 是我们将要定义的新数据类型的名称。例如:

      typedef char C;

      typedef unsigned int WORD;

      typedef char * string_t;

      typedef char field [50];

      在上面的例子中,我们定义了四种新的数据类型: C, WORD, string_t 和 field ,它们分别代替 char, unsigned int, char* 和 char[50] 。这样,我们就可以安全的使用以下代码:

      C achar, anotherchar, *ptchar1;

      WORD myword;

      string_t ptchar2;

      field name;

      如果在一个程序中我们反复使用一种数据类型,而在以后的版本中我们有可能改变该数据类型的情况下,typedef 就很有用了。或者如果一种数据类型的名称太长,你想用一个比较短的名字来代替以方便编码,也可以是用typedef实现。

      为结构体定义别名,可见前面结构体部分,不在多说。

      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.csdn.net/cnds123/article/details/109116470,作者:软件开发技术爱好者,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:C++函数

      下一篇:什么是JSON

      相关文章

      2025-05-14 09:51:21

      mysql数据库中decimal数据类型比较大小

      在MySQL中,DECIMAL数据类型用于存储精确的数值,它非常适合用于需要高精度计算的场景,如金融应用。当我们需要在MySQL数据库中比较DECIMAL类型数据的大小时,可以使用标准的比较运算符,如>, <, >=, <=, = 和 <>(或!=)。

      2025-05-14 09:51:21
      MySQL , SQL , 数据类型 , 查询 , 比较 , 示例
      2025-05-08 09:03:07

      【Java 】包装类详解:从基本概念到实战技巧

      在 JAVA 中,八大基础数据类型(int,float,double...)不是继承自 Object,并且不具备对象的特征的。比如:基本数据类型就不能调用方法。

      2025-05-08 09:03:07
      Integer , 包装 , 基本 , 数据类型 , 类型
      2025-05-07 09:08:42

      C++Lambda表达式

      C++Lambda表达式

      2025-05-07 09:08:42
      C++ , 形参 , 捕获 , 类型 , 闭包
      2025-05-06 09:18:38

      【30天玩转python】基本语法与数据类型

      Python与其他编程语言最大的区别之一就是它使用缩进来表示代码块,而非大括号 {}。所有缩进必须一致,通常使用4个空格或1个Tab。

      2025-05-06 09:18:38
      Python , 数据类型 , 注释
      2025-04-23 08:18:32

      C++小技巧---CString 转 double

      常规的转换函数,无法去除多余的0。

      2025-04-23 08:18:32
      C++ , double
      2025-04-23 08:18:32

      C语言中的数据类型和运算符

      C语言中的数据类型和运算符

      2025-04-23 08:18:32
      gt , 数据类型 , 表达式 , 赋值 , 运算符
      2025-04-18 07:09:19

      Java学习路线指南

      Java作为一种广泛使用的编程语言,不仅应用在Web开发、移动应用、企业级系统等领域,还在大数据、人工智能等前沿领域占有重要地位。由于其跨平台的特性和强大的社区支持,Java成为许多开发者入门编程或转向高级开发的首选语言。

      2025-04-18 07:09:19
      Java , JVM , 代码 , 学习 , 应用 , 开发 , 数据类型
      2025-04-14 09:28:32

      【C++】BitSet和Bloom_Filter

      在计算机图形学中,位图(Bitmap)也称为光栅图,是由像素点组成的图像表示方式。在 C++ 编程中,位图可以通过特定的函数和数据结构来进行处理和操作。

      2025-04-14 09:28:32
      C++ , 位图 , 操作 , 比特
      2025-04-14 09:28:32

      从零开始:Linux 环境下的 C/C++ 编译教程

      GCC(GNU Compiler Collection)是一个功能强大的编译器集合,支持多种语言,包括 C 和 C++。其中 gcc 用于 C 语言编译,g++ 专用于 C++ 编译。

      2025-04-14 09:28:32
      C++ , Linux , 安装 , 编译
      2025-04-14 09:27:25

      【C++11】lambda表达式

      随着 C++11 的发布,C++ 标准引入了许多新特性,使语言更加现代化,开发者编写的代码也变得更加简洁和易于维护。Lambda 表达式是其中一个重要的特性,它提供了一种方便的方式来定义匿名函数,这在函数式编程范式中非常常见。Lambda 表达式允许我们在函数内部定义小型的无名函数,减少了不必要的函数定义和代码冗余,是现代 C++ 开发的重要工具。

      2025-04-14 09:27:25
      C++ , lambda , Lambda , 变量 , 捕获
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5249254

      查看更多

      最新文章

      【Java 】包装类详解:从基本概念到实战技巧

      2025-05-08 09:03:07

      C++Lambda表达式

      2025-05-07 09:08:42

      【30天玩转python】基本语法与数据类型

      2025-05-06 09:18:38

      C语言中的数据类型和运算符

      2025-04-23 08:18:32

      C++小技巧---CString 转 double

      2025-04-23 08:18:32

      Java学习路线指南

      2025-04-18 07:09:19

      查看更多

      热门文章

      C++最普通的定时器功能实现

      2023-03-08 10:27:24

      C/C++泛型编程实现数据结构之栈

      2023-05-15 10:00:33

      C++生成指定范围内随机数封装

      2023-02-07 10:34:04

      C++中substr函数的用法

      2023-04-18 14:14:13

      C++拷贝构造函数(深拷贝,浅拷贝)详解

      2023-03-30 09:59:46

      C++入门篇之C++ 指针

      2023-03-14 11:26:53

      查看更多

      热门标签

      java Java python 编程开发 代码 开发语言 算法 线程 Python html 数组 C++ 元素 javascript c++
      查看更多

      相关产品

      弹性云主机

      随时自助获取、弹性伸缩的云服务器资源

      天翼云电脑(公众版)

      便捷、安全、高效的云电脑服务

      对象存储

      高品质、低成本的云上存储服务

      云硬盘

      为云上计算资源提供持久性块存储

      查看更多

      随机文章

      C++ 递归算法解析(演示语言:c++/c#/python/lua)(用博主会的所有语言来演示一波)

      C++中把Lambda 表达式作为参数传递给模板函数

      C++分割字符串

      关于C++、C++ CLI, Java、C# 的自定义类实现列表初始化。

      【C++动态规划 数学】1039. 多边形三角剖分的最低得分|2130

      C++学习004-Go To 语句使用

      • 7*24小时售后
      • 无忧退款
      • 免费备案
      • 专家服务
      售前咨询热线
      400-810-9889转1
      关注天翼云
      • 旗舰店
      • 天翼云APP
      • 天翼云微信公众号
      服务与支持
      • 备案中心
      • 售前咨询
      • 智能客服
      • 自助服务
      • 工单管理
      • 客户公告
      • 涉诈举报
      账户管理
      • 管理中心
      • 订单管理
      • 余额管理
      • 发票管理
      • 充值汇款
      • 续费管理
      快速入口
      • 天翼云旗舰店
      • 文档中心
      • 最新活动
      • 免费试用
      • 信任中心
      • 天翼云学堂
      云网生态
      • 甄选商城
      • 渠道合作
      • 云市场合作
      了解天翼云
      • 关于天翼云
      • 天翼云APP
      • 服务案例
      • 新闻资讯
      • 联系我们
      热门产品
      • 云电脑
      • 弹性云主机
      • 云电脑政企版
      • 天翼云手机
      • 云数据库
      • 对象存储
      • 云硬盘
      • Web应用防火墙
      • 服务器安全卫士
      • CDN加速
      热门推荐
      • 云服务备份
      • 边缘安全加速平台
      • 全站加速
      • 安全加速
      • 云服务器
      • 云主机
      • 智能边缘云
      • 应用编排服务
      • 微服务引擎
      • 共享流量包
      更多推荐
      • web应用防火墙
      • 密钥管理
      • 等保咨询
      • 安全专区
      • 应用运维管理
      • 云日志服务
      • 文档数据库服务
      • 云搜索服务
      • 数据湖探索
      • 数据仓库服务
      友情链接
      • 中国电信集团
      • 189邮箱
      • 天翼企业云盘
      • 天翼云盘
      ©2025 天翼云科技有限公司版权所有 增值电信业务经营许可证A2.B1.B2-20090001
      公司地址:北京市东城区青龙胡同甲1号、3号2幢2层205-32室
      • 用户协议
      • 隐私政策
      • 个人信息保护
      • 法律声明
      备案 京公网安备11010802043424号 京ICP备 2021034386号