爆款云主机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++小知识点

      2024-07-31 08:37:16 阅读次数:33

      c++,编程语言

      C 二维数组和指针、函数指针、typedef等的一些笔记

      创建类的时候 用new 与 不用new 的区别

      • 不使用 ​​new​​创建对象时,对象的内存空间是在 栈 中的,其作用范围只是在函数内部,函数执行完成后就会调用析构函数,删除该对象。
      • 使用 ​​new​​创建对象,是创建在堆中的,必须要程序员手动的管理该对象的内存空间。
      • ​​malloc()​​ 函数在 C 语言中就出现了,在 C++ 中仍然存在,但建议尽量不要使用 ​​malloc()​​​ 函数。​​new​​​ 与 ​​malloc()​​ 函数相比,其主要的优点是,​​new​​ 不只是分配了内存,它还创建了对象。

      类函数在 内部 和 外部 实现的区别

      • 成员函数的实现可以在类定义时同时完成。
      • 与类的定义相比, 在类内实现成员函数不再是在类内进行声明,而是直接将函数进行定义, 在类中定义成员函数时, 编译器默认会争取将其定义为 inline型函数
      • 在类外定义成员函数通过在类内进行声明, 然后在类外通过作用域操作符​​::​​进行实现
      • 转换为了“为啥不用全用内联?”的问题

      构造函数的 显式声明 和 隐式声明 的区别

      • 只能用于修饰只有一个参数的类构造函数, 它的作用是表明该构造函数是显示的。跟它相对应的另一个关键字是​​implicit​​, 意思是隐藏的。类构造函数默认情况下即声明为​​implicit​​(隐式)
      • 如果的构造函数只有一个参数时, 那么在编译的时候就会有一个缺省的转换操作:将该构造函数对应数据类型的数据转换为该类对象
      • ​​explicit​​关键字的作用就是防止类构造函数的隐式自动转换
      • 但是,当除了第一个参数以外的其他参数都有默认值的时候, ​​explicit​​关键字依然有效, 此时, 当调用构造函数时只传入一个参数, 等效于只有一个参数的类构造函数

      member access within misaligned address

      在链表中,申请空间时代码如下:

      temp1=(struct ListNode*)malloc(sizeof(struct ListNode));

      由于结构体内存在 ​​next​​指针 ,而申请结构体空间后同时定义了 ​​next​​指针 ,此时 ​​next​​指针 未指向任何空间,故在测试时可能导致上述错误。

      解决方法为:增加代码使 ​​next​​指针 指向空。

      temp->next=NULL;

      左值(Lvalues)和右值(Rvalues)

      C++ 中有两种类型的表达式:

      • 左值(lvalue):指向内存位置的表达式。左值可以出现在赋值号的左边或右边。
      • 右值(rvalue):存储在内存中某些地址的数值。右值是不能对其进行赋值的表达式,也就是说,右值可以出现在赋值号的右边,但不能出现在赋值号的左边。
      • 变量是左值,因此可以出现在赋值号的左边。
      • 数值型的字面值是右值,因此不能被赋值,不能出现在赋值号的左边。

      #include 带.h 和 不带.h 的区别

      • 总结:​​<string.h>​​​是旧的、不在​​std​​中的 C/C++ 版本;​​<string>​​​是头文件的内容在​​std​​中的 C++ 版本,对应的是新的string 类;​​<cstring>​​​是对应于旧的、但在​​std​​中的 C 版本。(C库包含在C++标准库中)
      • 旧的C++头文件名如<iostream.h>,它的头文件的内容不在命名空间​​std​​中。
      • 包装了​​std​​ 的那部分标准库创建的新头文件名,生成新头文件的方法仅仅是将现有​​C++​​​头文件名中的​​.h​​ 去掉,如:<iostream>、<complex>;
      • ​​C​​​语言头文件标准化后,头文件名前带个​​c​​字母,如<cstdio>、<cstring>、<ctime>、<ctype>;
      • 新的C++头文件如<iostream>包含的基本功能和对应的旧头文件相同,但头文件的内容在名字空间​​std​​中(在标准化的过程中,库中有些部分的细节被修改了,所以旧头文件和新头文件中的实体不一定完全对应)。
      • 具有C库功能的新C++头文件具有如<cstdio>这样的名字。它们提供的内容和相应的旧C头文件相同,只是内容在​​std​​中。

      异常处理

      • 一个函数如果不交待能拋出哪些类型的异常,就可以拋出任何类型的异常。
      • 函数不会拋出任何异常:​​void func() throw ();​​
      • 函数可能会拋出哪些异常:​​void func() throw (int, double, A, B, C){...}​​
      • 函数如果拋出了其异常声明列表中没有的异常,在编译时不会引发错误,但在运行时, Dev C++ 编译出来的程序会出错;用 Visual Studio 2010 编译出来的程序则不会出错,异常声明列表不起实际作用。

      局部变量 与 全局变量 同名处理

      局部变量与全局变量同名时,要使用全局变量:​​::a​​

      # 和 ## 运算符

      • ​​#​​:字符串化的意思,出现在宏定义中的​​#​​,是把跟在后面的参数转换成一个字符串。
      • 当用作字符串化操作时,​​#​​ 的主要作用是将宏参数不经扩展地转换成字符串常量。
      • 宏定义参数的左右两边的空格会被忽略,参数的各个 Token 之间的多个空格会被转换成一个空格。
      • 宏定义参数中含有需要特殊含义字符如​​"​​​或​​\​​​时,它们前面会自动被加上转义字符 ​​\​​。
      #define MKSTR( x ) #x
      cout << MKSTR(HELLO C++) << endl;
      转换成了:
      cout << "HELLO C++" << endl;
      • ​​##​​: 连接符号,把参数连在一起。将多个 Token 连接成一个 Token。要点:
      • 它不能是宏定义中的第一个或最后一个 Token。
      • 前后的空格可有可无。
      #define CONCAT( x, y )  x ## y
      int xy = 100;
      cout << concat(x, y);
      转换成了:
      cout << xy;

      pthread 和 std::thread 对比

      • ​​std::thread​​是C++11接口;
      • ​​pthread​​是C++98接口,且只支持Linux。

      ​​std::thread​​​对比于​​pthread​​​的优缺点:
      优点:

      1. 简单,易用
      2. 跨平台,pthread只能用在POSIX系统上(其他系统有其独立的thread实现)
      3. 提供了更多高级功能,比如future
      4. 更加C++(跟匿名函数,std::bind,RAII等C++特性更好的集成)

      缺点:

      1. 没有RWlock。有一个类似的shared_mutex,不过它属于C++14,你的编译器很有可能不支持。
      2. 操作线程和Mutex等的API较少。毕竟为了跨平台,只能选取各原生实现的子集。如果你需要设置某些属性,需要通过API调用返回原生平台上的对应对象,再对返回的对象进行操作。

      strcut 和 class 的区别

      struct更适合看成是一个数据结构的实现体,class更适合看成是一个对象的实现体。struct和class关键字在C++中其基本语法是完全一样的。

      C语言编程单位是函数,语句是程序的基本单元。而C++语言的编程单位是类。从c到c++的设计由以过程设计为中心向以数据组织为中心转移。

      在C++中struct得到了很大的扩充:

      1. struct可以包括成员函数;
      2. struct可以实现继承;
      3. struct可以实现多态。
      • 默认的继承访问权。class默认的是private,strcut默认的是public。
      • 默认访问权限。struct作为数据结构的实现体,它默认的数据访问控制是public的,而class作为对象的实现体,它默认的成员变量访问控制是private的。
      • class关键字还用于定义模板参数,就像“typename”。但关键字“struct”不用于定义模板参数。

      不同容器使用的迭代器类型

      容器

      对应的迭代器类型

      array

      随机访问迭代器

      vector

      随机访问迭代器

      deque

      随机访问迭代器

      list

      双向迭代器

      set / multiset

      双向迭代器

      map / multimap

      双向迭代器

      forward_list

      前向迭代器

      unordered_map / unordered_multimap

      前向迭代器

      unordered_set / unordered_multiset

      前向迭代器

      stack

      不支持迭代器

      queue

      不支持迭代器

      注意,容器适配器 stack 和 queue 没有迭代器,它们包含有一些成员函数,可以用来对元素进行访问。

      迭代器定义方式

      具体格式

      正向迭代器

      容器类名::iterator 迭代器名;

      常量正向迭代器

      容器类名::const_iterator 迭代器名;

      反向迭代器

      容器类名::reverse_iterator 迭代器名;

      常量反向迭代器

      容器类名::const_reverse_iterator 迭代器名;

      • 常量迭代器和非常量迭代器的分别在于:通过非常量迭代器还能修改其指向的元素。
      • 反向迭代器和正向迭代器的区别在于:
      • 对正向迭代器进行 ​​++​​ 操作时,迭代器会指向容器中的后一个元素;
      • 而对反向迭代器进行 ​​++​​ 操作时,迭代器会指向容器中的前一个元素。

      左值引用& 和 右值引用&&

      C++11右值引用(一看即懂)

      • 可以取地址的,有名字的,非临时的就是左值;
      • 不能取地址的,没有名字的,临时的就是右值;
      • 左值引用要求右边的值必须能够取地址,如果无法取地址,可以用常引用;但使用常引用后,我们只能通过引用来读取数据,无法去修改数据,因为其被const修饰成常量引用了。
      • 在c++中,临时对象不能作为左值,但可以作为常量引用const &。
      • 右值只在当前表达式有效。右值性质:
      • 没有名字
      • 不可修改
      x = plus(y, z) // plus(y, z)
      x = (y+z) // (y+z)
      • 右值引用是用来支持转移语义的。转移语义可以将资源 ( 堆,系统对象等 ) 从一个对象转移到另一个对象,这样能够减少不必要的临时对象的创建、拷贝以及销毁,能够大幅度提高 C++ 应用程序的性能。临时对象的维护 ( 创建和销毁 ) 对性能有严重影响。
      • 右值引用用来绑定到右值,绑定到右值以后本来会被销毁的右值的生存期会延长至与绑定到它的右值引用的生存期。

      冒号初始化 和 构造函数内赋值

      通常我们对类成员进行“初始化”有两种方式:

      1. 构造函数后面跟冒号​​:​​ => 系统创建成员变量时就初始化。初始化这个数据成员的时候函数体还未执行。
      2. 构造函数里面对成员进行赋值 => 系统创建成员变量,创建完后再进行赋值操作。是在所有的数据成员被分配内存空间后才进行的。

      根据C++的规则,const类型和引用不可以被赋值,只能被初始化。

      class A
      {
      public:
      A(int& c) {
      _a = 1;
      }
      protected:
      int _a;
      // 报错,成员_b和_c必须在构造函数的成员初始化列表里面初始化
      const int _b;
      int& _c;
      };

      应改为,在构造函数后面通过冒号,使用括号表达式进行初始化:

      class A
      {
      public:
      A(int& c): _b(2), _c(c) {
      _a = 1;
      }
      protected:
      int _a;
      const int _b;
      int& _c;
      };

      单冒号: 与 双冒号: 的区别

      单冒号​​:​​

      • 继承
      class Base { };
      class Derived : public Base { };

      class Base {
         public:
             int a=10;
      };
      class Derived : public Base {
      };
      int main() {
      Derived b;
      cout<<b.a<<endl;
      }
      • 访问控制
      class MyClass {
      public:
      void public_member() { }
      private:
      void private_member() { }
      };
      • 列表初始化
      class MyClass {
      private:
      int member;
      public:
      MyClass() : member(0) { }
      };
      • 位域(即该变量占几个bit空间)
      class MyClass {
      public:
      unsigned first : 1;
      unsigned second : 2;
      unsigned third : 4;
      };

      双冒号​​::​​

      • 域操作符 => 全局作用域(::name)、类作用域(class::name)、命名空间作用域(space::name)
        1、没有在类的声明里给出f的定义,那么在类外定义f时,要写成void A::f(),表示这个f()函数是类A的成员函数。
        2、直接使用类调用静态类成员函数。

      vector列表初始化{} 和 元素数量()

      • 在某些情况下,初始化的真实含义依赖于传递初始值时用的是花括号​​{}​​还是圆括号​​()​​。
      vector<int> v1(10);    // 有10个元素,每个的值都是默认初始化0
      vector<int> v2{10}; // 有1个元素,且值是10
      vector<int> v3(10, 1); // 有10个元素,每个的值都是1
      vector<int> v4{10, 1}; // 有2个元素,分别是10和1
      • 如果用的是圆括号,可以说提供的值是用来构造 vector对象的。如果用的是花括号,可以表述成我们想列表初始化该vector对象。
      • 另一方面,如果初始化时使用了花括号的形式,但是提供的值又不能用来列表初始化,就要考虑用这样的值来构造vector对象了。
      vector<string> v5{"hi"};     // 列表初始化,有一个元素
      vector<string> v6("hi"); // 错误,不能使用字符串字面值构建vector对象
      vector<string> v7{10}; // 有10个默认初始化的元素
      vector<string> v8{10, "hi"}; // 有10个值为"hi"的元素
      • 确认无法执行列表初始化后,编译器会尝试用默认值初始化vector对象。
      • 总结:​​(a,b)​​用来说明有a个b值,​​{a,b,c}​​表示用列表abc来初始化,当​​{}​​中内容跟vector内类型不同时就尝试替换为​​()​​的规则。还是不要乱用吧,太混乱了…

      其他

      • 一个const成员函数如果以引用的形式返回​​*this​​,那么他的返回类型将是常量引用。
      //  如果display返回常量引用,则调用set将引发错误
      screen.display(cout).set('*');
      • 编译器处理完类中的全部声明后,才会处理成员函数的定义。
      • 类型名的定义通常出现在类的开始处,这样就能确保所有使用该类型的成员都出现在类名的定义之后。
      • 如果类的成员是const、引用,或属于某种未提供默认构造函数的类类型,我们必须通过构造函数初始值列表为这些成员提供初值。
      • 类成员的初始化顺序与它们在类定义中的出现顺序一致。最好令构造函数初始值的顺序与成员声明的顺序保持一致。
      • 如果一个构造函数为所有参数都提供了默认实参,则它实际上也定义了默认构造函数。
      • 关键字​​explicit​​只对一个实参的构造函数有效。需要多个实参的构造函数不能用于执行隐式转换,所以无须将这些构造函数指定为explicit的。只能在类内声明构造函数时使用​​explicit​​关键字,在类外部定义时不应重复。
      • 当在类的外部定义静态成员时,不能重复使用​​static​​关键字,该关键字只出现在类内部的声明语句。
      版权声明:本文内容来自第三方投稿或授权转载,原文地址:https://blog.51cto.com/xfxuezhang/5859115,作者:小锋学长生活大爆炸,版权归原作者所有。本网站转在其作品的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如因作品内容、版权等问题需要同本网站联系,请发邮件至ctyunbbs@chinatelecom.cn沟通。

      上一篇:怎样获取一组汉字的拼音首字母(使用C#)

      下一篇:C++设计模式详解之工厂模式解析

      相关文章

      2025-05-19 09:04:53

      查看RISC-V版本的gcc中默认定义的宏

      查看RISC-V版本的gcc中默认定义的宏

      2025-05-19 09:04:53
      c++ , linux
      2025-05-13 09:49:27

      变量基础_变量场景

      变量基础_变量场景

      2025-05-13 09:49:27
      变量 , 场景 , 存储 , 学习 , 数据 , 编程语言
      2025-05-13 09:49:27

      编程语言逻辑

      编程语言逻辑

      2025-05-13 09:49:27
      分类 , 学习 , 编程 , 编程语言 , 语言 , 逻辑
      2025-04-18 07:09:19

      编程范式之逻辑编程

      编程范式的多样化为解决复杂问题提供了丰富的方法论。逻辑编程(Logic Programming)作为一种独特的编程范式,通过基于逻辑推理的方式来求解问题。

      2025-04-18 07:09:19
      求解 , 约束 , 编程 , 编程语言 , 范式 , 逻辑
      2025-04-18 07:09:19

      面向对象编程:定义、特点、应用场景、优缺点及示例代码

      编程范式的演进使得软件开发变得更加高效和灵活。面向对象编程(Object-Oriented Programming,简称OOP)是现代编程中最为流行的一种范式。

      2025-04-18 07:09:19
      代码 , 定义 , 对象 , 封装 , 程序员 , 编程语言
      2025-04-16 09:26:45

      编程范式之函数式编程

      随着编程语言和编程范式的发展,函数式编程(Functional Programming,简称FP)作为一种古老而现代的编程方法,逐渐受到越来越多开发者的关注。函数式编程通过数学函数的概念来处理计算问题,以其简洁、高效和易于并行化的特点在现代软件开发中占据一席之地。

      2025-04-16 09:26:45
      函数 , 编程 , 编程语言 , 范式 , 高阶
      2025-04-14 09:26:51

      【算法入门08】青蛙跳台阶

      【算法入门08】青蛙跳台阶

      2025-04-14 09:26:51
      c++ , 动态规划 , 算法
      2025-04-14 09:26:51

      STL详解(九)—— priority_queue的使用与模拟实现

      优先级队列默认使用vector作为其底层存储数据的容器,在vector上又使用了堆算法将vector中的元素构造成堆的结构,因此priority_queue就是堆,所有需要用到堆的位置,都可以考虑使用priority_queue。

      2025-04-14 09:26:51
      c++ , stl , 数据结构
      2025-04-14 09:26:51

      STL详解(八)—— stack和queue的模拟实现

      stack和queue有一点需要注意的是,虽然stack和queue中也可以存放元素,但在STL中并没有将其划分在容器的行列,而是将其称为容器适配器,这是因为stack和queue只是对其他容器的接口进行了包装,STL中stack和queue默认使用deque容器。

      2025-04-14 09:26:51
      c++ , queue , stack , stl
      2025-04-14 09:24:23

      【算法入门14】二叉树的镜像

      【算法入门14】二叉树的镜像

      2025-04-14 09:24:23
      c++ , 算法
      查看更多
      推荐标签

      作者介绍

      天翼云小翼
      天翼云用户

      文章

      33561

      阅读量

      5244592

      查看更多

      最新文章

      变量基础_变量场景

      2025-05-13 09:49:27

      编程语言逻辑

      2025-05-13 09:49:27

      编程范式之逻辑编程

      2025-04-18 07:09:19

      面向对象编程:定义、特点、应用场景、优缺点及示例代码

      2025-04-18 07:09:19

      编程范式之函数式编程

      2025-04-16 09:26:45

      python简单介绍及基础知识(一)

      2025-04-09 09:16:42

      查看更多

      热门文章

      Lambda函数

      2023-02-08 10:33:56

      try...catch...finally java

      2023-03-29 09:40:26

      QT中多线程的使用

      2023-02-07 10:34:04

      0030 简单的四则运算 c/c++

      2023-03-21 10:39:47

      C++虚函数知识点总结

      2023-02-21 06:21:46

      java的历史

      2023-04-07 07:03:02

      查看更多

      热门标签

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

      相关产品

      弹性云主机

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

      天翼云电脑(公众版)

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

      对象存储

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

      云硬盘

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

      查看更多

      随机文章

      PAT_Advanced Level_1072 Gas Station(C++_链式向前星_dijkstra(堆优化))

      变量基础_变量场景

      【C++】priority_queue、仿函数和反向迭代器

      测试开发基础之Python标准库

      c++入门篇之C++ 引用

      Windows下打开Url 代码封装 C++

      • 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号