![](https://img-blog.csdnimg.cn/20201014180756926.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C/C++
文章平均质量分 85
如果有帮助到你,请点个关注吧!
笨笨小乌龟11
身份:CSDN嵌入式新星作者,阿里云专家博主,华为云享专家。旨在给大家分享更多的技术知识,同时记录自身的成长过程,自己仍需多多学习,学无止境!
展开
-
C语言基础全解:细说每个知识点
二进制: 使用1和0表示的数制。八进制: 前面通常加0,用以区分其他进制。十进制: 日常生活中常用的阿拉伯数字系统。十六进制: 前缀通常是0x,用于表示计算机系统中的数据。原创 2024-07-04 16:15:51 · 955 阅读 · 0 评论 -
C语言冒泡排序(附源码和动态图)
冒泡排序的思想是前一个和后一个换,根据你设置的排序方式来进行比较,例如是从小到大的话,就是每两个比较,第一个比第二个大则向后移去,反之不动。然后第二个再和第三个去比较,反复如此。冒泡排序是一个非常简单的排序方法,在C语言中也经常被使用。原创 2023-06-19 16:45:19 · 216 阅读 · 1 评论 -
青年歌手大赛:实时评分统计与分析程序设计
【代码】C基础例题:青年歌手参加歌曲大奖赛,有10个评委对她的进行打分,试编程求这位选手的平均得分(去掉一个最高分和一个最低分)原创 2023-06-10 11:42:38 · 3880 阅读 · 0 评论 -
C++基础知识(八:STL标准库(Vectors和list))
同样,尾部元素的后向指针也总为 null。基于这样的存储结构,list 容器具有一些其它容器(array、vector 和 deque)所不具备的优势,即它可以在序列已知的任何位置快速插入或删除元素(时间复杂度为。由于容器类,只提供了找起始位置和结束位置的迭代器,所以找指定位置的迭代器,只能在已有迭代器的位置上自增,和指针的行为类似,访问元素需要解引用,但是不能和指针类型强转。这大概就是双向链表的样子,正常的链表只有一个指针指向他的下一个元素,而双向就是再单向的前提上加上一个指针,指向他前面的元素。原创 2024-03-01 10:47:06 · 1480 阅读 · 0 评论 -
C++基础知识(八:STL标准库 deque )
操作端普通队列只允许在一端插入(队尾)和另一端删除(队头)。双端队列允许在两端进行插入和删除。数据访问普通队列中,数据访问遵循先进先出原则。双端队列中,数据访问更灵活,可以在两端进行访问,不严格遵循先进先出原则。使用场景普通队列常用于需要按顺序处理任务的情况,如打印机任务队列、事件处理队列等。双端队列适用于需要灵活操作数据的情况,如滑动窗口算法、最近最少使用(LRU)缓存算法等。如果需要大量随机访问且插入删除操作集中在末尾,使用。如果需要在两端高效插入删除且随机访问,使用。原创 2024-06-13 14:41:15 · 493 阅读 · 0 评论 -
C++基础知识(八:STL标准库 Map和multimap )
mapmap。原创 2024-06-14 15:07:00 · 639 阅读 · 0 评论 -
C++基础知识(七:多态)
解决方法:给基类(父类)的析构函数前面加上virtual关键字,只要基类是虚析构函数,后面继承的所有子类都是虚析构函数,虚析构函数会引导父类的指针,释放掉子类的空间。指向虚函数表的指针,父类中有一个虚函数表指针,子类中的虚函数表指针是从父类中继承下来的虚函数表指针,指向子类的虚函数表(虚函数表指针存在类中的第一个位置)由于实现多态,需要使用父类的指针,指向子类的空间,父类指针可以操作的空间,只有父类自己的部分,所以,在delete父类指针时,并不会释放调子类的空间。虚函数表,存储所有的虚函数的信息。原创 2024-02-26 14:37:40 · 347 阅读 · 0 评论 -
C++基础知识(六:继承)
封装、继承和多态。原创 2024-02-24 11:01:26 · 751 阅读 · 0 评论 -
C++基础知识(五:运算符重载)
--> operator原创 2024-02-23 16:21:43 · 454 阅读 · 0 评论 -
C++基础知识(四:类的学习)
类指的就是对同一类对象,把所有的属性都封装起来,你也可以把类看成一个高级版的结构体。使用场合不同,类适用于某一类对象属性和方法的封装,结构体用于某种数据结构的实现。成员函数,都有一个this指针,指向调用者,(非静态成员数隐藏 的形参)深拷贝:两个不同类对象的指针成员,指向不同的空间,但是保存的是同样的数据。如果在函数体内部,给成员属性赋值,是一个赋值的过程,不是初始化的过程。类的封装性比结构体更好,类中默认是私有权限,结构体中默认是共有权限。类中含有其他类的子对象时,必须使用初始化列表(类的包含关系)原创 2024-02-23 14:43:43 · 604 阅读 · 0 评论 -
C++基础知识(三:哑元和内联函数和函数重载)
如果对于大型的程序,对某个功能进行更新,有需要保证代码的向下兼容(前面版本的代码仍然可以使用),就可以给某些参数设定为哑元。在定义函数时,某一些形参有默认值,如果调用时有实参传过来,就使用实参的值,如果调用时,没有给该参数传参,参数就使用默认值。同样的传参个数,既能满函数重载的需要,也能满足默认参数的需求,在调用时就会发生混乱,函数重载和默认参数不要同时出现。如果某一个参有默认参数,那该参数右侧的所有参数一定也有默认参数。函数中,某个参数只有数据类型,没有变量名,此刻该参数,就是哑元。原创 2024-02-22 15:05:31 · 218 阅读 · 0 评论 -
C++基础知识(二:引用和new delete)
实参传递过去的地址 ------>返回的是生命周期长的变量的地址。C中的动态内存分配:malloc和free ----->C++中可以继续使用。----->修饰*p和p。引用作为函数的返回值,和指针函数一样,需要返回生命周期长的变量的引用。------>常指针。定义引用,---->如果&前面有数据类型,就说明是在定义引用。----->修饰*p。----->修饰*p。不涉及到值传递和地址传递的问题,传到函数内部的就是实参本身。复习:指针作为函数的返回值 ---->指针函数。原创 2024-02-22 09:52:48 · 184 阅读 · 0 评论 -
C++基础知识(一:命名空间的各种使用方法)
C++在C的基础上引入了更多的元素,例如类,类的私密性要比C中的结构体更加优秀,引用,重载,命名空间,以及STL库,模板编程和更多的函数,在面向对象的编程上更加高效。---->后面的代码都可以使用命名空间A中的标识符a。只导入一个命名空间,代码就只能访问导入的命名空间中的标识符。面向过程语言:C ----->重视求解过程。面向对象语言:C++ ------>重视求解的方法。在该行下的所有代码,可以使用导入的指定的标识符。::a ----->访问全局变量a。p后面就相当于int。原创 2024-02-21 13:48:08 · 521 阅读 · 0 评论