C++
文章平均质量分 93
本专栏用于记录C++从入门到熟练
无双@
Get ur shit together man
展开
-
手撕《二叉搜索树》
{}K _key;public:private:本章存在许许多多的细节问题,最直观的例子就是erase的实现,下来可以好好看看,下面我们将正式进入map和set的学习。原创 2024-05-22 09:29:43 · 588 阅读 · 0 评论 -
C++面向对象————《多态》(全方位攻克)
面向对象的三大特性对最后一特性——《多态》,本次章节我将全方位带领大家攻克《多态》从初识了解的引入,到后面剖析多态在内存中的变化,以及它底层的实现,甚至包含面试题型和常考题都将为大家逐一展开。各位,本章将会是干货拉满的一章,只要你能掌握本章的大部分概念,在面向对象这一块你讲游刃有余,对所谓的类会有深刻的了解以及认识!!多态的概念:通俗来说,就是多种形态,具体点就是去完成某个行为,当不同的对象去完成时会产生出不同的状态。举个栗子:比如买票这个行为,当普通人买票时,是全价买票;学生买票时,是半价买票;原创 2024-05-18 01:28:43 · 873 阅读 · 0 评论 -
C++面向对象——《继承》
从本文开始,我们将正式进入C++进阶阶段,该阶段的学习内容会较为抽象,为了能让大家更好的了解消化,我会对每一个重点模块进行画图讲解,虽然不能让图片动起来,但是可以手把手教你各个原理背后的底层逻辑!说回继承,我们在前面的学习中,接触到了关于list的迭代器还有priority_queue(优先级队列)和reverse_iterator(反向迭代器)的“封装”操作。原创 2024-05-13 17:20:50 · 814 阅读 · 0 评论 -
攻克 && 全方位了解《模版进阶》
我们在前面对于list和reverse_iterator(反向迭代器)的模拟实现中,会发现模版的神奇之处。不难发现我们先是利用了类和对象的封装,再运用了我们学习的模版这个概念,在原来的基础上进行修改和加工,打造出了一个精简高效的模版代码,这就体现出了模版的强大之处。接下来我们将模版进行进阶的展开,手把手攻克每一个有关模版的知识点。一个程序(项目)由若干个源文件共同实现,而每个源文件单独编译生成目标文件,最后将所有目标文件链接起来形成单一的可执行文件的过程称为分离编译模式。【优点】原创 2024-05-09 13:37:57 · 917 阅读 · 0 评论 -
初始《stack》《queue》及手搓模拟《stack》《queue》
在前面的学习中我们已经初步进入了STL的大门,尤其在list这一章中,我们对于迭代器的实现甚至说对于类和对象的封装有了更深刻的认识,接下来我们将要继续对STL库中的容器进行学习,同时我们也会对以前我们学过的知识进行巩固!1.stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。原创 2024-05-04 17:38:20 · 740 阅读 · 0 评论 -
初识《list》及手搓模拟《list》
现阶段我们已经逐渐熟悉了各个STL库中的容器,对于他们的各个接口都大差不差,在我们学习完vector之后我们就可以陆陆续续接触一些算法题。我们的《好题分析》这一专栏也会不断的进行更新!下面我们先来熟悉以下list这个容器。list是可以在常数范围内在任意位置进行插入和删除的序列式容器,并且该容器可以前后双向迭代。list的底层是双向带头链表结构,双向链表中每个元素存储在互不相关的独立节点中,在节点中通过指针指向其前一个元素和后一个元素。原创 2024-04-20 00:37:44 · 901 阅读 · 0 评论 -
初识《vector》及模拟实现《vector》
在上一篇blog中,我们认识及学习了string这一标准模版库中的容器,我们了解到string的本质其实为一个字符串,而对于我们今天所学习的vector容器,本质上我们可以理解为一个顺序表,但是这个顺序表里的各个“节点”我们可以存放不只是内置类型的数据,而且还可以存放自定义类型。1. vector是表示可变大小数组的序列容器。2. 就像数组一样,vector也采用的连续存储空间来存储元素。也就是意味着可以采用下标对vector的元素进行访问,和数组一样高效。原创 2024-04-07 16:11:40 · 962 阅读 · 0 评论 -
初识《string》及手搓模拟实现《string》
在之前的学习中,我们初步了解到了模板的概念,而接下来又对于C++的标准模板库(STL)也有了基本的概念。对于C++的武器,我们不得不进行学习,日后有了这些STL武器的帮助,对于大部分题目我们都能游刃有余。以上就是string的部分内容,在这里我只对于重要的部分进行讲解,string这个库有许多自带的函数,下来可以自己动手尝试尝试实现。原创 2024-03-31 17:39:12 · 1104 阅读 · 0 评论 -
《模板入门》以及初始STL
在前面的学习中,我们逐渐意识到我们目前学习到的C++知识,可以比传统得C语言更加简洁高效,接下来我们将学习更高效的STL(标准模板库)的各个内容。首先我们需要引入一个全新的该概念————模板STL(standard template libaray-标准模板库):是C++标准库的重要组成部分,不仅是一个可复用的组件库,而且是一个包罗数据结构与算法的软件框架。原创 2024-03-24 13:06:04 · 866 阅读 · 0 评论 -
C++内存管理
我们在前面的学习中,学习了解了C++中类与对象的三部分,是我们对于面向对象的编程语言有了更深刻的印象学习。本篇博客往后,我们将正式进入C++工具这一部分,马上我们就将要学习STLclass Apublic:: _a(a)~A()private:int _a;int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间//还会调用构造函数和析构函数free(p1);delete p2;原创 2024-03-19 13:58:34 · 678 阅读 · 0 评论 -
入门C++《类与对象》——————3
我们在上一篇的blog中进一步了解了《类与对象》的入门知识,下面我们将继续学习《类与对象》剩余知识。现实生活中的实体计算机并不认识,计算机只认识二进制格式的数据。如果想要让计算机认识现实生活中的实体,用户必须通过某种面向对象的语言,对实体进行描述,然后通过编写程序,创建对象后计算机才可以认识。比如想要让计算机认识洗衣机,就需要:1. 用户先要对现实中洗衣机实体进行抽象---即在人为思想层面对洗衣机进行认识,洗衣机有什么属性,有那些功能,即对洗衣机进行抽象认知的一个过程。原创 2024-03-11 19:13:00 · 930 阅读 · 0 评论 -
《日期类》的模拟实现
我们在前面的两章初步学习认识了《类与对象》的概念,接下来我们将实现一个日期类,是我们的知识储备更加牢固。!" << endl;exit(-1);_day = day;int _month;int _day;原创 2024-03-10 15:18:34 · 461 阅读 · 0 评论 -
入门C++《类与对象》————2
在上一篇的blog中,我们已经引入了所谓的《类与对象》,并且也介绍了对各个基础知识的概念细节。我们主要需要知道,所谓的默认成员函数是一个大整体,包含:对于构造函数,“我们不写编译器自动生成的”、“无参”、“全缺省”的构造函数都叫默认构造函数。默认生成的析构函数与构造函数类似。内置类型不做处理,对于自定义类型会去调用它们的构造和析构函数。若未显示定义,编译器会生成默认的拷贝构造函数!const对象不可以调用非const成员函数非const对象可以调用const成员函数const成员函数不可以。原创 2024-03-07 14:41:53 · 1260 阅读 · 0 评论 -
入门C++《类与对象》——1
学完《类与对象》三部曲,我们将会正式两只脚迈进C++的世界,《类与对象》属于是一个第一个全新的模块,与以之前C++入门里的各个知识都不同,不再是C语言的已有知识点的更新,而是一个最重要最关键的C++语法和知识点。对于本章的学习也正是标志着我们将结束“面向过程”从而转向“面向对象”// 类体:由成员函数和成员变量组成// 一定要注意后面的分号class为定义类的关键字,ClassName为类的名字,{}中为类的主体,注意类定义结束时后面分号不能省略。原创 2024-02-27 17:29:21 · 602 阅读 · 0 评论 -
C++入门2
从上一章开始我们就正式将要开启C++的大门,本章承接上一章介绍C++入门所需要掌握和学习的知识,方便我们彻底打开C++的大门。C++入门-CSDN博客引用引用不是新定义一个变量,而是给已存在变量取了一个别名,编译器不会为引用变量开辟内存空间,它和它引用的变量共用同一块内存空间。比如我们一提到“花和尚”我们就会自然联想到水浒传里的鲁智深,“花和尚”就是鲁智深的别名,也就是鲁智深的外号。类型引用变量名对象名) =引用实体;int a = 10;//原创 2024-02-24 23:57:36 · 864 阅读 · 0 评论 -
C++入门
从本次开始将正式打开C++的大门,我们先来介绍下C++。C语言是结构化和模块化的语言,适合处理较小规模的程序。对于复杂的问题,规模较大的程序,需要高度的抽象和建模时,C语言则不合适。为了解决软件危机, 20世纪80年代, 计算机界提出了OOP(object oriented programming:面向对象)思想,支持面向对象的程序设计语言应运而生。1982年,Bjarne Stroustrup博士在C语言的基础上引入并扩充了面向对象的概念,发明了一种新的程序语言。原创 2024-02-23 22:15:27 · 684 阅读 · 2 评论