![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c++
GeniusPYH
学生
展开
-
指针&&引用(复习)
一.引用(&)概念:引用是为对象起了另外一个名字,通过将声明符写成&d的形式来定义引用类型,其中d是声明的变量名,如:int i=5;int &d=i;。初始化变量时,若定义了引用,那么程序会把引用和他的初始值绑定在一起,而不是将初始值拷贝给引用。一旦初始化完成,引用将和他的初始对象一直绑定在一起,不能改变。所以定义了引用必须进行初始化。1.&:&符号既能作为表达式里的运算符,也能作为声明的一部分出现,符号的上下文决定了他的意义。例如:int val=0;int原创 2020-08-06 18:19:53 · 433 阅读 · 0 评论 -
C/C++内存管理
一.首先我们根据一张图来看看C/C++中的内存分布。(图画的有点丑不要介意)由此图我们可以看出,全局数据和静态数据存放在数据段,局部数据存放在栈上。而我们动态分配的数据便存在堆上。二.C语言中的动态内存管理方式。1.mallocvoid* malloc(size_t size)malloc函数向内存申请一块连续可用的空间,成功则返回指向这片空间的指针,失败返回空,所以在使用malloc时我们一定要做检查(判断是否为空)2.callocvoid* calloc(size_t num,size原创 2020-07-21 18:34:44 · 96 阅读 · 0 评论 -
AVL树
一.概念当向二叉搜索树中插入新结点后,如果能保证每个结点的左右子树高度之差的绝对值不超过1(需要对树中的结点进行调整),即可降低树的高度,从而减少平均搜索长度。他的左右子树都是AVL树左右子树平衡因子的绝对值不能超过1;如果一棵二叉搜索树是高度平衡的,它就是AVL树。二.AVL树的旋转1.为什么要进行旋转?如果在一棵原本是平衡的AVL树中插入一个新节点,可能造成不平衡,此时必须调整树...原创 2020-04-11 13:20:05 · 89 阅读 · 0 评论 -
二叉搜索树
一.概念最优情况下,二叉搜索树为完全二叉树,其平均比较次数为log2N,最差情况下二叉搜索树退化为为单边树,其平均比较次数为N/2。二叉搜索树又称二叉排序树,它可以是一棵空树,也可以是具有下面一些性质的数1.若左子树不为空,则左子树上的所有节点的值都小于根节点的值。2.若右子数不为空,则右子树上的所有节点的值都大于根节点的值。3.左右子树也分别为二叉搜索树。二.二叉搜索树的查找若不为空...原创 2020-04-07 11:54:45 · 949 阅读 · 0 评论 -
多态性
一.概念:去完成某个行为,当不同的对象去完成时会产生不同的状态。二.双目运算符重载为成员函数1.定义形式函数类型 operator 运算符(形参){}参数个数等于原操作数-1(后置++,–除外)2.双目运算符重载规则若要重载B为类成员函数,使之能够实现表达式oprd1 B oprd2,其中oprd1为A类的对象,则B应该被重载为A类成员函数,形参类型应该是oprd2所属的类型。经...原创 2020-03-20 16:05:30 · 81 阅读 · 0 评论 -
c++继承详细总结
一.概念继承是面向对象程序中使代码可以复用的重要手段,他允许程序员在原有类的基础上进行扩展开辟新的功能。通过继承联系在一起的类构成一种层次关系。通常在层次关系的根部有一个基类,其他类则直接或间接的从基类继承而来,这样的类称为派生类。单继承时派生类的定义class base1//:基类{ //:成员声明};class base2 :public base1//:派生类,继承方式publ...原创 2020-03-15 15:44:05 · 136 阅读 · 0 评论 -
string类及其简单模拟实现
一.string类1.string是表示字符串的类。该类的接口与常规容器基本相同,再添加了一些专门用来操作字符串的操作。二.string类常见的对象构造1.string():构造空的字符串。2.string(const char *s):用c-string来构造string类对象3.string (const string &s):拷贝构造函数三.string类常用操作1.s...原创 2020-03-13 15:35:14 · 249 阅读 · 0 评论 -
类和对象相关知识
一.构造函数1.作用:在对象被创建时使用特定的值构造对象,将对象初始化为一个特定的状态。如果程序中为定义构造函数,则编译器会生成一个默认的构造函数。如果程序中创建了构造函数,但仍希望编译器隐含生成默认构造函数,可以使用=default。调用时机:在对象被创建时自动调用例:创建一个Clock的类对象#define _CRT_SECURE_NO_WARNINGS 1#include<...原创 2020-03-11 12:35:24 · 114 阅读 · 0 评论 -
c++类与对象1
一.类的引用在c语言中结构体可以用来定义变量,在c++中结构体不仅可以用来定义变量也可以定义函数,在c++中struct常用class来代替。1.struct书写最好按大小顺序。2.c语言中不允许空结构体而c++允许,且分配一个字节。“结构体”在c和c++中的区别:1.在cpp中,用结构体定义变量不需要加struct,而c中不行。2.c语言中不允许空结构体;c++允许,且分配一个字节。...原创 2019-11-18 22:37:48 · 74 阅读 · 0 评论