- 博客(41)
- 收藏
- 关注
原创 【c++丨STL】vector模拟实现
与传统的动态顺序表不同,它采用了三个迭代器来维护数组,提高了程序灵活性。也正因如此,它的实现难度也有所增大,对于细节把控的要求也很高。
2024-11-09 19:16:15 975 15
原创 【c++丨STL】vector的使用
vector是STL中的一种容器,它用于表示可变大小的数组,底层使用动态顺序表实现。相比传统的数组,vector附带了一系列操作接口,并且由于内存是动态分配的,所以不必担心插入元素时内存不足的问题。由于vector强大的功能和灵活性,我们在c++编程中经常使用vector来表示内存连续的序列。我们使用vector时,要引头文件,并且该容器定义在命名空间std当中。今天我们学习了STL另一个容器--vector的使用。不难发现,
2024-11-06 22:49:14 945 17
原创 【Linux】基础指令
Linux是一种自由和开放源码的类Unix操作系统,它最初由芬兰程序员林纳斯·格瓦兹(Linus Torvalds)于1991年开发。该系统基于Unix操作系统,继承了Unix以网络为核心的设计思想。在服务器管理、软件开发,还是日常办公当中,Linux都扮演着不可或缺的角色。开源性:Linux是开源的操作系统,任何人都可以查看、修改、分发Linux的源代码。多用户多任务:支持多个用户同时操作,执行多项任务。稳定性:Linux系统以其出色的性能稳定性和高可靠性,在服务器开发领域有着广泛的应用。安全性。
2024-11-01 21:20:45 1377 28
原创 【c语言】运算符汇总(万字解析)
今天博主跟大家分享了c语言中各种操作符的功能、使用方法以及优先级和结合性,并且与大家深入探讨了表达式求值的两个重要规则--算数转换和整形提升。学习这些知识对我们的C语言和C++学习都有着极大的帮助。
2024-10-29 22:37:12 1076 29
原创 【c++丨STL】string模拟实现(附源码)
今天,我们在学会使用string类的基础上模拟实现了string类的常用功能,这对于我们学习数据结构和string类有很大帮助。之后博主会和大家一起进入下一个容器——vector的学习。
2024-10-24 15:38:23 1452 30
原创 【c++丨STL】string类的使用
今天,我们正式进入了STL的大门,学习了第一个容器——string。string虽然接口较多,但是它的实用性很高,为我们处理字符串提供了很多便利。由于其中一些接口并不是很常用,博主就没有过多赘述,大家可以在cplusplus官网进一步了解它们。之后博主会和大家一起,在熟练运用的基础上,深入其底层,并尝试模拟实现string类。
2024-10-20 01:26:38 1095 34
原创 【c++】STL简介
STL(Standard Template Library,标准模板库),是c++标准库的一个重要组成部分,它提供了一系列通用的类模板和函数,是一个包罗数据结构和算法的软件框架。STL的出现弥补了c++开发效率的不足,大大提高了程序的可复用性。
2024-09-21 17:36:18 1521 27
原创 【c++】动态内存管理
1. new:首先调用operator new函数申请内存空间,然后调用构造函数,完成初始化2. delete:首先调用析构函数,对开辟的内存进行资源清理,然后调用operator delete函数释放内存3. new[]:首先调用 operator new[ ] 函数申请多个对象的内存空间(该函数中调用了operator new),然后调用N次构造函数,完成初始化。
2024-09-20 20:15:31 1291 23
原创 【c++】类和对象(下)(取地址运算符重载、深究构造函数、类型转换、static修饰成员、友元、内部类、匿名对象)
今天我们学习了类和对象相关的新概念和知识,例如:取地址重载、static修饰成员、友元、内部类等,它们对于我们深入学习并理解c++的后续内容,以及实现对象的相关功能有很大帮助。
2024-09-15 22:44:58 1391 24
原创 【c++】类和对象(中)(构造函数、析构函数、拷贝构造、赋值重载)
所谓默认成员函数,就是在类当中我们没有显示实现,但是编译器自动生成的成员函数称之为默认成员函数。在c++11之前,默认成员函数一共有六个:接下来我们会根据它们的特点,使用规则以及自实现方面逐一讲解。今天我们学习了四个类的默认成员函数构造函数、析构函数、拷贝构造函数和赋值重载,它们能够确保资源的正确管理和对象状态的正确维护。之后博主会和大家分享其余的两个默认成员函数,并实现日期类。
2024-09-03 09:04:44 1559 34
原创 【排序算法】快速排序升级版--三路快排详解 + 实现(c语言)
快速排序是一种高效且常用的排序算法,但是传统的快排并没有对与基准值相同的数据进行明确划分,造成运行效率的降低。左边是比基准值小的数据;中间是与基准值相同的数据;右边是比基准值大的数据。这样,与基准值相同的数据就不需要再次划分,提高了整体的运行效率。
2024-08-29 19:31:29 909 10
原创 【c++】类和对象(上)(类的定义格式、访问限定符、类域、类的实例化、对象的内存大小、this指针)
类的本质是一种自定义类型,是定义对象模板的蓝图或者结构。它制定了对象可以包含的数据以及该对象可以执行的操作。在某种程度上,c++中的类可以认为是c语言结构体的升级版,不仅可以在其中定义成员变量,也可以定义成员函数,用于对成员变量进行访问或操作。
2024-08-28 22:30:59 1105 25
原创 【c++】深入理解别名机制--引用
引用,作为c++中的一种特殊别名机制,当我们定义引用时,并不是创建了一个新变量,而是给原有的变量起了一个别名。(数据类型)& 引用名 = 引用对象;int& b = a;//定义引用,给a取了一个别名a++;b++;return 0;运行结果:可以看到,无论是对a自增,还是对b自增,它们表示的值都会发生改变。结果显示它们的地址是相同的。这表明引用只是给变量起了一个别名,表示的还是同一块内存空间。
2024-08-18 22:45:55 1430 19
原创 【数据结构】二叉树(c语言)(附源码)
二叉树节点的定义,前序、中序、后序遍历、层序遍历、统计二叉树的节点个数、查找二叉树中元素、判断是否为完全二叉树
2024-08-11 22:15:36 1181 15
原创 【数据结构】树型结构详解 + 堆的实现(c语言)(附源码)
树的概念与结构,树的相关术语、表示方法,二叉树的性质,完全二叉树和满二叉树,二叉树的存储形式,堆的特点和性质,堆的实现
2024-08-09 22:41:18 1299 24
原创 【c++】基础知识——快速入门c++
c++是在c语言的基础上,增加了面向对象编程、引用、函数重载、模板库STL等新特性,使得c++成为一门功能强大、灵活多变的语言。c++在语法上兼容大部分c语言,因而学习了c语言之后,会对c++学习有一定的帮助。相比java,c++语法的学习难度较高,但是它难学易用,也有利于我们理解底层,是一门十分值得深入学习的语言。接下来我们会重点介绍一些c++的前置基础知识,便于我们快速入门c++语法。int x = 5;char n;1.定义命名空间使用的关键字是。
2024-08-07 15:53:14 1412 21
原创 【数据结构】栈和队列(c语言实现)(附源码)
栈只能从同一端进行插入、删除操作,遵从“先进后出”原则;而队列只能从一端插入、另一端删除,遵从“先进先出”原则。栈和队列在一些场景的实用性很高,例如二叉树的层序遍历、快速排序的非递归实现等。
2024-08-04 11:57:30 1355 21
原创 【c语言】字符串函数和内存函数
在编程的过程中,我们经常要对字符串和内存进行各种各样的处理,c语言提供了一系列字符串函数和内存函数,便于我们对字符串或者内存空间进行操作。本篇文章我们就来学习其中的一些函数。本篇文章我们学习了字符串函数和内存函数的相关知识,它们在我们的编程当中十分常见和实用。同时,我们也学会了如何思考问题,解决问题。
2024-06-16 23:52:50 1357 10
原创 【c语言】函数
c语言的国际标准ANSI C规定了一些常用函数的标准,这些标准就被称为标准库。之后,不同的编译器就根据这些标准完成了这些函数的实现,这些函数就被称为库函数。
2024-05-18 18:08:57 857 2
原创 【c语言】循环语句
循环结构体现了我们简化重复动作的思想。c语言提供了三种循环结构,分别是while循环,for循环,do--while循环。
2024-04-30 15:19:42 874 1
原创 【c语言】分支语句
c语言是一种结构化的程序设计语言,这里的“结构”指的就是c语言的三种逻辑结构:顺序结构,选择结构和循环结构。日常生活当中的事情其实都可以看成这三种结构的逻辑组合。那么我们该如何编程实现这些结构,让我们一起探讨。
2024-04-27 12:03:19 1646
原创 【c语言】简单的算术操作符、输入输出函数
一个完整、有效程序的运行,是离不开各种计算的。c语言提供了诸多的算数操作符,以便我们能够合理使用各种计算实现程序。接下来将介绍几个比较常用的算数操作符。
2024-04-20 01:24:09 2741 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人