
C++
文章平均质量分 81
C++
graceyun
低头赶路,敬事如仪,自知其心,其路则明~
展开
-
C++学习_进阶——(三)二叉树进阶
目录1 二叉搜索树1.1 二叉搜索树概念1.2 二叉搜索树操作1.3 二叉搜索树的实现1.4 二叉搜索树的应用1 二叉搜索树1.1 二叉搜索树概念二叉搜索树又称二叉排序树,它或者是一棵空树,或者是具有以下性质的二叉树:若它的左子树不为空,则左子树上所有节点的值都小于根节点的值若它的右子树不为空,则右子树上所有节点的值都大于根节点的值它的左右子树也分别为二叉搜索树int a [] = {5,3,4,1,7,8,2,6,0,9};1.2 二叉搜索树操作二叉搜索树的查找二叉搜原创 2024-07-18 11:51:12 · 510 阅读 · 0 评论 -
C++学习_进阶——(二)多态
目录1. 多态的概念1.1 概念2. 多态的定义及实现2.1多态的构成条件2.2 虚函数2.3虚函数的重写2.4 C++11 override 和 final2.5 重载、覆盖(重写)、隐藏(重定义)的对比3. 抽象类3.1 概念3.2 接口继承和实现继承4.多态的原理4.1虚函数表4.2多态的原理4.3 动态绑定与静态绑定原创 2022-01-23 15:24:02 · 940 阅读 · 0 评论 -
C++学习_进阶——(一)继承
目录1.继承的概念及定义1.1继承的概念1.2 继承定义1.2.1定义格式1.2.2继承关系和访问限定符2.基类和派生类对象赋值转换3.继承中的作用域4.派生类的默认成员函数5.继承与友元6. 继承与静态成员7.菱形继承原创 2022-01-11 18:50:46 · 157 阅读 · 0 评论 -
C++学习_初阶—— new
目录1. new operator2. operator new3. placement new(定位new)1. new operator如下所示就是new操作符:int *p = new int;作用:(1)申请空间(2)调用构造函数(int 没有构造函数但是string 就有,视情况而定)2. operator new就是 new作用:就是申请空间(调用new operator 申请空间 )3. placement new(定位new)定位new表达式是在已分配的原原创 2021-12-04 14:41:44 · 529 阅读 · 0 评论 -
C++学习_初阶(九)——string
1. 为什么要学习string类1.1 C语言中的字符串1.2 面试题中2. 标准库中的string类2.2 string类的常用接口说明2.2.1 string类对象的常见构造2.2.2 string类对象的容量操作2.2.3 string类对象的访问及遍历操作2.2.4 string类对象的修改操作2.2.5 string类非成员函数3. string类的模拟实现原创 2022-01-03 20:31:46 · 557 阅读 · 0 评论 -
C++学习_初阶(八)——list
1. list的介绍及使用1.2 list的使用list中的接口比较多,此处类似,只需要掌握如何正确的使用,然后再去深入研究背后的原理,已达到可扩展的能力。以下为list中一些常见的重要接口。1.2.1 list的构造构造函数( (constructor))接口说明list()构造空的listlist (size_type n, const value_type& val = value_type())构造的list中包含n个值为val的元素list (c原创 2021-12-02 15:28:22 · 1017 阅读 · 1 评论 -
C++学习_初阶(七)——STL简介
STL初识原创 2021-12-02 15:31:57 · 180 阅读 · 0 评论 -
C++学习_初阶(六)—— 模板初阶
1. 泛型编程泛型编程:编写与类型无关的通用代码,是代码复用的一种手段。模板是泛型编程的基础。2. 函数模板2.1 函数模板概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。2.2 函数模板格式template<typename T1, typename T2,…,typename Tn>返回值类型 函数名(参数列表){}template<typename T>void Swap( T& left,原创 2021-11-30 23:07:56 · 237 阅读 · 0 评论 -
C++学习_初阶(五)—— 内存管理
目录1 C/C++内存分布2. C语言中动态内存管理方式2.1 malloc/calloc/realloc和free3. C++内存管理方式3.1 new/delete操作内置类型3.2 new和delete操作自定义类型4. operator new与operator delete函数4.1 operator new与operator delete函数原创 2021-11-10 20:02:17 · 261 阅读 · 0 评论 -
C++学习_初阶(四)——类与对象(下)
目录4. 友元4.1 友元函数4. 友元友元分为:友元函数和友元类友元提供了一种突破封装的方式,有时提供了便利。但是友元会增加耦合度,破坏了封装,所以友元不宜多用。4.1 友元函数问题:现在我们尝试去重载operator<<,然后发现我们没办法将operator<<重载成成员函数。因为cout的输出流对象和隐含的this指针在抢占第一个参数的位置。this指针默认是第一个参数也就是左操作数了。但是实际使用中cout需要是第一个形参对象,才能正常使用。所以我们要将operat原创 2021-10-25 16:44:55 · 218 阅读 · 0 评论 -
C++学习_初阶(三)——类与对象(中)
目录原创 2021-10-24 17:49:26 · 2223 阅读 · 0 评论 -
C++学习_初阶(二)——类与对象(上)
目录1 面向过程和面向对象初步认识3.类的定义4.类的访问限定符及封装4.1 访问限定符4.2 封装5 类的作用域6 类的实例化7.类对象模型7.1 如何计算类对象的大小7.2 类对象的存储方式7.3 结构体内存对齐规则8.this指针8.1 this指针的引出8.2 this指针的特性1 面向过程和面向对象初步认识C: 面向过程C++: 基于对象2.类的引入C语言中,结构体中只能定义变量,在C++中,结构体内不仅可以定义变量,也可以定义函数3.类的定义class className{//原创 2021-10-19 17:56:08 · 216 阅读 · 0 评论 -
C++学习_初阶(一)——C++入门
目录1 基础知识1.1 C++输入输出1.2 缺省参数2 命名空间2.1 命名空间定义2.2 命名空间使用3 函数重载3.1 概念4 引用4.1 引用概念4.2 引用特性4.3 常引用4.4 使用场景4.5 传值、传引用效率比较4.5.2 值和引用的作为返回值类型的性能比较4.5 引用和指针的区别5. 内联函数5.1 概念5.2 特性6. auto关键字(C++11)6.1 auto简介6.2 auto的使用细则6.3 auto不能推导的场景7. 基于范围的for循环(C++11)7.1 范围for的语法7原创 2021-10-18 22:30:39 · 288 阅读 · 0 评论 -
C++学习_初阶(零)——如何使用C++手册
如何使用C++手册原创 2021-12-02 15:31:24 · 578 阅读 · 0 评论