- 博客(41)
- 收藏
- 关注
原创 【C++】一文了解继承
前面的文章我们已经学习了很多关于C++语法的知识,今天我们主要来介绍一下C++中关于继承的知识,有了继承,我们的C++程序可以更加简便的实现代码的复用。下面是一个Student类继承Person类的定义方式以上就是今天要讲的内容,本文简单介绍了C++中继承的使用,希望这篇文章对你有帮助,期待你的一键三连。
2024-10-24 15:30:25
959
原创 【数据结构】一文了解计数排序
前面的文章我们简单介绍了数据结构中比较基础常见的七种排序方法,今天我们来介绍一种非比较排序——计数排序。计数排序是一个非基于比较的排序算法,该算法于1954年由 Harold H. Seward 提出。它的优势在于在对一定范围内的整数排序时,它的复杂度为Ο(n+k)(其中k是整数的范围),快于任何比较排序算法。
2024-08-23 09:08:49
986
原创 搭建Linux环境教程
上一篇文章我们主要介绍了Linux的相关知识,本文我们来介绍怎么在自己的电脑上搭建Linux环境。以上就是Linux在自己电脑上的搭建方法,希望这篇文章对你有帮助,期待你的一键三连。
2024-08-17 09:53:33
951
原创 Linux介绍
关于Linux系统编程,你可能要问Linux从哪里来?它是怎么发展的?在这里简要介绍Linux的发展史。今天的内容就来简单介绍一下Linux背景有关的知识。以上就是今天介绍的内容,本文仅仅简单介绍了Linux的背景,而Linux还有许多知识等待我们探索。
2024-08-14 15:00:09
1085
1
原创 【C++】模板进阶--模板特化与分离编译
我们之前已经介绍过一些关于模板的基础知识,例如类模板等,然而模板还有许多的知识,今天我们就来介绍一下模板特化等模板的知识点吧【优点】模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生增强了代码的灵活性【缺陷】模板会导致代码膨胀问题,也会导致编译时间变长出现模板编译错误时,错误信息非常凌乱,不易定位错误以上就是今天的内容了,希望对你有所帮助,期待你的一键三连。
2024-08-05 15:04:12
1015
原创 【C++】template模板--函数模板与类模板
前面的文章我们已经学习了很多关于C++语法的知识,今天我们主要来介绍一下C++中关于模板的知识,有了模板,我们的C++程序可以更加简便。与函数模板相类似,类模板定义方式如下class 类模板名// 类成员定义public:_size = 0;++_size;模版不建议声明和定义分离到两个文件.h 和.cpp会出现链接错误以上就是今天要介绍的内容,本文仅仅简单介绍了模板的使用,希望本文对你有帮助,期待你的一键三连。
2024-07-30 10:06:26
879
2
原创 【C++】内存管理--new和delete
在C语言的学习中我们学习了malloc,realloc等动态内存管理的内容,在C++中依然有内存管理的知识,今天我们就来介绍一下C++中的动态内存管理。int main()// new/delete 和 malloc/free最大区别是 new/delete对于【自定义类型】除了开空间//还会调用构造函数和析构函数free(p1);delete p2;// 内置类型是几乎是一样的// C。
2024-07-24 16:23:29
711
原创 【C++】类与对象--初始化列表,类型转换,static,友元
前面的文章中我们已经介绍了默认成员函数等类与对象的重要内容,今天这篇文章我们主要介绍一下初始化类表,友元,static等内容,希望对你有所帮助。之前我们实现构造函数时,初始化成员变量主要使用函数体内赋值,构造函数初始化还有⼀种方式,就是初始化列表,初始化列表的使用方式是以⼀个冒号开始,接着是⼀个以逗号分隔的数据成员列表,每个"成员变量"后面跟⼀个放在括号中的初始值或表达式。
2024-07-23 15:34:39
1105
原创 【C++】类的默认成员函数--构造,析构,拷贝,重载
类的默认成员函数主要包括构造函数、拷贝构造函数、析构函数、赋值运算符重载函数、取值运算符重载函数以及const取址运算符重载函数。这些函数在C++中对于类的对象创建、资源管理、对象复制、对象赋值等操作至关重要。构造函数 ,是一种特殊的方法。主要用来在创建对象时初始化对象, 即为对象成员变量赋初始值,总与new运算符一起使用在创建对象的语句中。特别的一个类可以有多个构造函数 ,可根据其参数个数的不同或参数类型的不同来区分它们 即构造函数的重载。
2024-07-17 11:51:40
848
原创 【数据结构】一文了解七大排序算法
所谓排序算法,即通过特定的算法因式将一组或多组数据按照既定模式进行重新排序。这种新序列遵循着一定的规则,体现出一定的规律,因此,经处理后的数据便于筛选和计算,大大提高了计算效率。对于排序,我们首先要求其具有一定的稳定性,即当两个相同的元素同时出现于某个序列之中,则经过一定的排序算法之后,两者在排序前后的相对位置不发生变化。换言之,即便是两个完全相同的元素,它们在排序过程中也是各有区别的。今天,我们介绍一下常见的排序算法。
2024-07-11 16:48:54
858
原创 【C++】类和对象--类,实例化,this指针
前面的几篇文章我们介绍了命名空间,inline,nullptr等C++中常见的的基础概念。今天的文章我们来介绍一些C++中类与对象的内容。在现实世界中,经常有属于同一类的对象。例如,你的自行车只是世界上很多自行车中的一辆。在面向对象软件中,也有很多共享相同特征的不同的对象:矩形、雇用记录、视频剪辑等。可以利用这些对象的相同特征为它们建立一个集合。而这个集合就称为类。类是定义同一类所有对象的变量和方法的蓝图或原型。
2024-07-10 16:46:38
1203
原创 【C++】C++入门基础--引用,inline,nullptr
上一篇文章我们介绍了C++中的命名空间,函数重载,缺省参数等内容,今天我们主要介绍引用,inline和nullptr的内容,也属于C++中比较基础但重要的内容。引用(reference)就是C++对C语言的重要扩充。引用就是某一变量(目标)的一个别名,对引用的操作与对变量直接操作完全一样。类型标识符 &引用名=目标变量名;引用引入了对象的一个同义词。定义引用的表示方法与定义指针相似,只是用&代替了*。
2024-07-09 16:24:35
694
原创 【C++】C++入门基础--命名空间,缺省参数,函数重载
在编程的浩瀚宇宙中,C++犹如一颗璀璨的明星,以其高效、灵活与强大,吸引着无数开发者的眼球。本文旨在为初学者搭建一座通往C++世界的桥梁,帮助读者建立扎实的C++基础知识体系,激发探索复杂程序设计的兴趣,开启一段充满挑战与乐趣的编程之旅。让我们一起,用代码编织梦想,用智慧点亮未来!• 定义命名空间,需要使用到namespace关键字,后面跟命名空间的名字,然后接⼀对{}即可,{}中即为命名空间的成员。命名空间中可以定义变量/函数/类型等。
2024-07-08 16:12:54
1076
原创 【数据结构】一文了解二叉树的顺序结构(堆)
普通的二叉树是不适合用数组来存储的,因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储,需要注意的是这里的堆和操作系统虚拟进程地址空间中的堆是两回事,一个是数据结构,一个是操作系统中管理内存的一块区域分段。以上就是今天要讲的内容,本文仅仅简单介绍了堆的使用,而堆提供了大量能使我们快速便捷地处理数据的思路。以后博主会继续介绍二叉树的其他知识,期待你的阅读。
2024-05-18 21:50:26
924
原创 【数据结构】一文了解树及二叉树基本知识
树是一种数据结构,它是由n(n≥0)个有限节点组成一个具有层次关系的集合。把它叫做“树”是因为它看起来像一棵倒挂的树,也就是说它是根朝上,而叶朝下的。它具有以下的特点:每个节点有零个或多个子节点;没有父节点的节点称为根节点;每一个非根节点有且只有一个父节点;除了根节点外,每个子节点可以分为多个不相交的子树。树是数据结构中的非常重要的一个内容,后面博主还会写文章介绍顺序存储和链式存储的内容,敬请期待。希望你的一键三连。
2024-05-18 16:25:25
1712
原创 一文了解队列
队列的数据元素又称为队列元素。在队列中插入一个队列元素称为入队,从队列中删除一个队列元素称为出队。因为队列只允许在一端插入,在另一端删除,所以只有最早进入队列的元素才能最先从队列中删除,故队列又称为先进先出(FIFO—first in first out)线性表。这里可以和栈进行对比,如果你还不知道栈那么你可以看看这篇文章链接:一文了解栈。//每一个节点的数据//指向下一个节点}QNode;这里我们再定义一个结构体//指向头节点//指向尾节点int size;//记录队列大小}Queue;
2024-05-09 11:40:32
846
1
原创 一文了解栈
栈是一种特殊的线性表,其只允许在固定的一端进行插入和删除元素操作。进行数据插入和删除操作的一端称为栈顶,另一端称为栈底。栈中的数据元素遵守后进先出LIFO(Last In First Out)的原则。在数据结构中,栈是比较简单的一种结构。//动态开辟内存int top;//栈顶的下一位栈的容量}ST;这里top定义为栈顶下一位是为了下面下表访问方便,也可以定义为指向栈顶的top可以根据个人需要决定。这就是本期文章的全部内容,期待你的一键三连和评论。
2024-05-07 22:28:32
1029
1
原创 一文了解复杂度
计算复杂性理论(Computational complexity theory)是计算理论的一部分,研究计算问题时所需的资源,比如时间和空间,以及如何尽可能的节省这些资源。计算复杂性理论所研究的资源中最常见的是时间复杂度(要通过多少步才能解决问题)和空间复杂度(在解决问题时需要多少内存)。其他资源亦可考虑,例如在并行计算中,需要多少并行处理器才能解决问题。复杂度是学习计算机和数据结构比较基础的知识,下文我们来介绍一下。提示:以下是本篇文章正文内容,下面案例可供参考。
2024-05-03 23:12:20
2350
4
原创 一文了解双向链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。今天我们就先来学习一下链表中的双向链表。以上就是作者对单链表的一些理解和介绍,希望看到这篇文章的朋友们可以积极评价,还请一键三连。
2024-05-02 16:18:43
862
2
原创 一文了解单链表
链表是一种物理存储单元上非连续、非顺序的存储结构,数据元素的逻辑顺序是通过链表中的指针链接次序实现的。链表由一系列结点(链表中每一个元素称为结点)组成,结点可以在运行时动态生成。每个结点包括两个部分:一个是存储数据元素的数据域,另一个是存储下一个结点地址的指针域。相比于线性表顺序结构,操作复杂。今天我们就先来学习一下链表中比较基础的单链表。以上就是作者对单链表的一些理解和介绍,希望看到这篇文章的朋友们可以积极评价,还请一件三连。
2024-04-30 15:59:35
1083
3
原创 浮点数据类型在内存中的存储
3.14,1E10等都是我们经常见到的浮点数,浮点数家族包括:float,double,long double类型。我们今天的这篇文章就是介绍浮点数在内存中的存储方式。以上就是今天要讲的内容,本文仅仅简单介绍了浮点数据在内存中的存储方式,希望能帮到大家。
2024-04-04 19:30:12
890
1
原创 一文了解顺序表
数据结构是学习计算机编程中十分重要的一个方面,今天我们来介绍一下,其中比较基础的顺序表的内容。数据结构(data structure)是带有结构特性的数据元素的集合,它研究的是数据的逻辑结构和数据的物理结构以及它们之间的相互关系,并对这种结构定义相适应的运算,设计出相应的算法,并确保经过这些运算以后所得到的新结构仍保持原来的结构类型。简而言之,数据结构是相互之间存在一种或多种特定关系的数据元素的集合,即带“结构”的数据元素的集合。“结构”就是指数据元素之间存在的关系,分为逻辑结构和存储结构。
2024-04-04 11:54:51
915
3
原创 深入理解指针(7)
之前我们介绍了指针数组,指针数组是一种数组,它存放的是地址(指针)。哪我们下面要介绍的数组指针是数组还是指针呢?答案是:指针我们已经熟悉的是:int* ptr,存放的是整型变量的地址,能指向整形数据:float* ptr,存放的是浮点变量地址,能指向浮点数据那么数组指针就是存放数组地址的变量,能够指向数组的地址。数组指针的书写如下:p先和*结合,说明p是一个指针变量,然后指针指向一个大小为十的整形数组。所以p是一个指针,指向一个数组,叫数组指针。
2024-04-03 22:02:28
391
1
原创 深入理解指针(6)--二级指针,指针数组,字符指针
指针变量也是一个变量,是变量就需要一个地址,那指针变量的地址存在哪里呢?这就是二级指针。上面就是二级指针的画图示意,通过二级指针我们其实就可以理解三级指针,四级指针等,但这些就不是特别常用了,作为了解即可。
2024-03-27 15:25:54
427
原创 深入理解指针(5)--数组名的理解,指针访问数组,数组传参本质
我们曾经写过这样的代码这样我们就通过&arr[0]的方式得到了数组首元素的地址,而实际上,数组的数组名本身就是一个地址,并且是数组的首元素的地址。我们通过下面的代码看一看我们发现两种方式打印出的答案一模一样,所以数组名就是首元素的地址。但是有两种情况是特殊的这里我们发现arr与arr+1相差四个字节,&arr[0]与&arr[0]+1相差四个字节,因为&arr[0]与arr都是首元素地址,+1跳过一个元素。
2024-03-23 15:45:57
294
原创 深入理解指针(4)--传值调用和传址调用
如果函数内部需要改变外部数据用传址调用,如果函数内部不改变外部数据用传值调用。今天的指针分享就先到这里了,我们下期再见!
2024-03-15 19:33:27
468
1
原创 深入理解指针(3)--指针运算,野指针,assert断言
assert() 的用法很简单,我们只要传入一个表达式,它会计算这个表达式的结果:如果表达式的结果为“假”,assert() 会打印出断言失败的信息,并调用 abort() 函数终止程序的执行;我们要注意代码中的sz的写法,是得到数组元素的常用的方法。assert宏的原型定义在中,其作用是如果它的条件返回错误,则终止程序执行,指针减指针前提是两个指针指向同一块空间,得到的是两指针间的元素个数(绝对值)。概念:野指针就是指向位置不可知的指针(随机的,不正确的,没有限制的)
2024-03-12 22:17:01
401
2
原创 深入理解指针(2)--指针+-整数和const修饰
我们先来看一段代码我们可以看出,char* 类型的指针变量+1跳过一个字节,int*类型指针变量+1跳过4个字节。一个指针±一个整数,实际上就是跳过一定的字节得到后面的地址的操作,而跳过的距离取决于指针的类型。
2024-03-09 21:12:54
409
原创 深入理解指针(1)--指针入门基本操作
内存(Memory)是计算机的重要部件,也称内存储器和主存储器,它用于暂时存放CPU中的运算数据,以及与硬盘等外部存储器交换的数据。它是外存与CPU进行沟通的桥梁,计算机中所有程序的运行都在内存中进行,内存性能的强弱影响计算机整体发挥的水平。只要计算机开始运行,操作系统就会把需要运算的数据从内存调到CPU中进行运算,当运算完成,CPU将结果传送出来。
2024-03-08 20:43:26
318
2
原创 CSS介绍(5)--表格属性
在之前的文章中我们介绍了文本属性,背景属性等CSS常用属性。今天我们再来介绍一下表格属性。在网页中,表格也是其为常用的标签,所以会使用表格属性也十分重要。
2024-02-18 08:08:34
544
2
原创 CSS介绍(3)--字体属性,文本属性
前面几期的文章我们讲了CSS中的选择器,现在我们有了选择器就可以自由选择我们想修饰的元素了,那么今天我们就来介绍一下CSS中的一些可以修饰的属性。
2024-02-14 17:00:08
1824
1
原创 CSS介绍(2)--关系选择器,属性选择器
上一期我们介绍了id选择器,类选择器等选择器,今天我们再来介绍一下关系选择器,这也是我们用得比较多的选择器。
2024-02-08 18:39:03
385
原创 CSS介绍(1)--选择器
层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。我们前几期已经介绍了常用的HTML5的标签,那么,我们也来介绍一下用CSS来修饰网页的方法。
2024-02-06 14:56:34
342
1
原创 HTML5(6)标签介绍--表单
我们前几期的文章中介绍了很多标签,而今天我们要介绍一种非常常见的标签–表单。可能有些朋友还不知道表单是什么,简单的说就是我们在网页中输入密码,用户名等信息的输入框和提交按钮。下面我们来具体说一说。
2024-02-04 14:39:11
863
2
原创 HTML5标签介绍(5)--表格
经过前面几期的介绍,我们了解的HTML5的标签越来越多,所以我们更加希望我们的网页更加整齐有序,而我们的HTML5也给我们提供了一些工具,今天我们就继续介绍表格的内容。
2024-02-01 11:50:36
430
1
原创 HTML5标签介绍(4)--文本标签,有序列表,无序列表
在前几期的内容中,我们对网页的基本结构和内部的的一些图片,超链接有了一些了解,今天,我们再通过一篇文章介绍一下,和文本,列表有关的一些标签。
2024-01-31 15:05:59
468
原创 HTML5标签(3)--图片标签,超链接标签
在前两期的分享中,我们已经介绍了一些和文本有关的标签,但是一个页面如果只有文字是十分单调的,今天,我们来介绍一下图片,超链接有关的标签。
2024-01-29 15:48:42
652
原创 HTML5标签(2)
相信看到这一篇文章的朋友们已经看过HTML5标签(1)的文章了,已经了解了一些HTML5的标签和HTML5的基本骨架。第二期我们再了解一下hr
2024-01-28 18:51:37
359
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人