自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 收藏
  • 关注

原创 从继承到多态:C++面向对象进阶核心

上面的代码答案是什么:A、运行报错 B、编译报错 C、B->1 D、B->0 E、A->1正确答案是B->1 ,为什么呢?指针a是B类型的同他调用test函数,test函数里的this指针是什么类型的呢?

2025-06-04 11:35:36 370

原创 C++ 继承

对于访问限定符来说,public可以在类内,类外都可以访问,protected可以在类内访问,类外不可以访问,但当被派生类继承可见,private可以在类内访问,类外不可以访问,并且可以被派生类继承但不可见。对于继承方式来说,确定基类成员被派生类继承以后在派生类中的访问方式 == Min(继承方式,基类中成员的访问方式),public > protected > private。

2025-06-01 20:40:16 586

原创 深入理解C++11:现代C++编程的核心特性与实践

我们在上面说过无论是左值引用还是右值引用都是属性都是左值,所以当一个变量是右值传给函数中的一个右值引用以后这个引用在去传给其他的函数就会调用左值版本这就会和我们的目的相反,我们传的是右值当然我们也想当在这个函数中调用其他还是时也是调用右值版本,这时就提出完美转发,用完美转发就可以将一个变量在保证其属性不变的情况下往下传。隐式捕捉可以分为用“ = ”隐式值捕捉,和 “ & ”隐式引用捕捉,隐式捕捉可以把全部可以捕捉的对象全部值捕捉,隐式引用捕捉可以把全部可以捕捉的对象全部引用捕捉。

2025-05-25 10:33:24 881

原创 红黑树:高效平衡二叉搜索树的实现

红黑树是以一种二叉搜索树,红黑树的节点会单独再储存一个颜色,这样红黑树可以通过不同节点中的颜色来控制整棵树,红黑树的增删查改的时间复杂度是logN,和AVL树是一个量级的但要稍微比AVL树低一点。

2025-05-19 18:10:48 931

原创 数据结构之 AVL树(内附C++实现)

这里我们通过控制平衡因子来判断现在的树是不是AVL树和来控制AVL树 ,当然我们也可以不通过平衡因子的方法来实现AVL树, 平衡因子 = 右子树的高度 - 左子树的高度(也可以是其他的方式 ,比如 左子树的高度 - 右子树的高度 )。当平衡因子为2 / -2时我们去通过旋转的方式把这个树变成AVL树。ALV树是一颗二叉搜索平衡树,AVL树的出现可以很好的避免出现二叉搜索树出现单枝的情况出现保证了效率不会出现很大的下降,他的性质是左右子树都是AVL树,左右子树的高度差不高于+1/-1。

2025-05-05 18:27:55 724

原创 C++详解之list

list是序列容器,list的数据结构是一个双向带头链表,可以支持在任意节点O(1)的插入节点,list的成员变量是指向头节点的一个ListNode*类型的指针,这里大家可能有疑问为什么list的成员变量只要一个指向头节点的指针呢?这是以为list对于ListNode和ListIterator进行了一层封装,为什么要这样呢?我们要先从list与vector的区别开始说起。

2025-04-16 09:49:39 875

原创 【C++ STL】vector详解

vector的中文意思是向量的意思,说人话就是一个顺序表,他本身也是一个数组,但有人有疑问string不也是顺序表吗?为什么还需要vector,因为string只能存char类型的对于其他类型不能存储,还有一点是对于字符的顺序表有很多单独的接口需要实现但对于其他类型的顺序表并不太需要这就会导致把string并入vector不太合适所以他们两是分开的。下面是文档对于vector的介绍。

2025-04-02 11:50:28 1023 1

原创 C++中的String的常用函数用法总结和模拟实现

这里是string的构造函数和拷贝构造函数,它支持用string,字符串,单个字母,迭代器等去构造。要注意这里的用迭代器拷贝构造不仅仅可以用string的还可以用其他的容器。对于构造函数的实现可以写成这样 ,这里只简单的实现了一下他的默认构造函数和拷贝构造函数。

2025-03-19 10:21:23 1109

原创 C++——模板初识

我们在C++中可以对函数进行重载,但对于不同类型变量还是要写对应的函数这样还是很麻烦,比如Add函数我们如果要实现对int类型的相加我们要实现Add(int a,int b),如果我们还要对double类型的相加我们还需要写一份Add(double a,double b),这两个函数的逻辑相同只是在参数列表中的形参类型不一样有没有什么办法可以让我们实现复用这样就可以减少我们的工作量。这时模板就可以很好的帮我们解决这个问题。模板可以提高代码的复用率还可以帮助我们实现泛型编程。下面图展示了类的分类。

2025-03-01 11:44:09 427

原创 C++——默认成员函数

默认成员函数是我们没有写编译器也会自动生成的成员函数,一个类我们不写的会自动帮我们生成6种默认的成员函数,在C++11中又增加了两个默认的成员函数,移动构造和移动赋值这两种我们以后再谈。

2025-02-21 20:15:33 479

原创 C++基础——函数重载

同一作用域中出现同名函数,但是要求同名函数的形参不能一样(个数,类型等)。这样C++函数调用就表现出多态的特点,使用更加灵活。

2025-02-15 18:54:41 296

原创 C++入门基础

学习过程和知识复习巩固。

2025-02-11 18:46:54 108 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除