自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 IDEA常用快捷键

ctrl+shift+/:批量加入多行注释,再按一次就是取消。ctrl+/:批量加入单行注释,再按一次就是取消。alt+shift+向上箭头:上移当前行。alt+shift+向下箭头:下移当前行。psvm+回车:快速生成main方法。alt+1:打开\隐藏工程目录结构。sout+回车:快速生成输出语句。ctrl+alt+L:格式化代码。alt+enter:代码修正提示。alt+4:打开\隐藏控制台。ctrl+D:向下复制一行。ctrl+X:剪切当前行。

2024-09-01 09:34:24 166

原创 python语言介绍

首先,python语句不需要以分号结尾,而是以每一行作为区分,有点像每一行末尾处都加了分号(当然,实际不是,也不相同)列表(list)、元组(tuple)、字符串(str)、集合(set)、字典(dict),只是对程序代码进行解释说明,让别人可以看懂程序代码的作用,能够大大增强程序的可读性。代码缩进:在C中,代码的缩进只影响代码的可读性和美观,不影响实际使用。每一个元素,可以是任意类型的数据,如字符串、数字、布尔等。在代码中,被写下来的固定的值(数据),叫做字面量。列表、元组、字符串,均可以可以视为序列。

2024-03-21 16:49:37 791

原创 神经网络介绍

如果没有激活函数,无论网络多么复杂,最后的输出都是输入的线性组合,而纯粹的线性组合并。引入激活函数之后,由于激活函数都是非线性的,这样就给神经元引入了非线性元素,使得神经。网络可以逼近任何非线性函数,这样使得神经网络应用到更多非线性模型中。串联的神经元似乎只有传递的作用,那么 一根和多根似乎没有区别。以数学公式的形式将神经元串联起来,下面再来看一个特别重要的概念——不能解决更为复杂的问题。

2024-03-19 16:27:45 368

原创 深度学习介绍

深度学习任务:分类和回归是生成的基础,分类和回归是生成的基础,有的时候需要多个模态的数据,比如 图片, 文字, 声音。简而言之,深度学习就是找一个函数f,设计一个很深的网络架构让机器自己学。深度学习:机器学习的一个子集:利用多层神经网络从大量数据中进行学习。机器学习算法:基于数学,或者统计学的方法,具有很强的可解释性。机器学习:能够随着数据量的增加不断改进性能的算法。人工智能:能够感知、推理、行动和适应的程序。工作原理:1、距离度量(欧式距离)3、生成任务(结构化)

2024-03-15 21:14:21 246

原创 进程优先级&&环境变量&&进程地址空间

cpu资源分配的先后顺序,就是指进程的优先权(priority)。优先权高的进程有优先执行权利。配置进程优先权对多任务环境的linux很有用,可以改善系统性能。还可以把进程运行到指定的CPU上,这样一来,把不重要的进程安排到某个CPU,可以大大改善系统整体性能。

2022-12-29 15:13:22 774 3

原创 Linux中的进程状态

系统调用在使用上,功能比较基础,对用户的要求相对也比较高,所以,有心的开发者可以对部分系统 调用进行适度封装,从而形成库,有了库,就很有利于更上层用户或者开发者进行二次开发。子进程执行代码,计算数据,和父进程执行同样的代码,fork之后,父子进程代码共享,而数据各自独立,不同的返回值,让不同的进程执行不同的代码。在开发角度,操作系统对外会表现为一个整体,但是会暴露自己的部分接口,供上层开发使用,这部分 由操作系统提供的接口,叫做系统调用。内核(进程管理,内存管理,文件管理,驱动管理)

2022-12-25 14:42:37 1303 4

原创 Linux神器——make/Makefile

3. 如果hello文件不存在,或是hello所依赖的后面的hello.o文件的文件修改时间要比hello这个文件新(可以用 touch 测试),那么,他就会执行后面所定义的命令来生成hello这个文件。7. 在找寻的过程中,如果出现错误,比如最后被依赖的文件找不到,那么make就会直接退出,并报错,而对于所定义的命令的错误,或是编译不成功,make根本不理。2. 如果找到,它会找文件中的第一个目标文件(target),在上面的例子中,他会找到“hello”这个文件,并把这个文件作为最终的目标文件。

2022-12-23 10:15:58 519 1

原创 Linux神器——gdb

ist/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。print(p):打印表达式的值,通过表达式可以修改变量的值或者调用函数。info(或i) breakpoints:参看当前设置了哪些断点。display 变量名:跟踪查看一个变量,每次停下来都显示它的值。delete breakpoints n:删除序号为n的断点。info(i) locals:查看当前栈帧局部变量的值。undisplay:取消对先前设置的那些变量的跟踪。list/l 函数名:列出某个函数的源代码。

2022-12-21 14:16:26 219 1

原创 Linux神器——gcc/g++

二、过程格式 gcc [选项] 要编译的文件 [选项] [目标文件]预处理功能主要包括宏定义,文件包含,条件编译,去注释等。预处理指令是以#号开头的代码行。实例: gcc –E hello.c –o hello.i选项“-E”,该选项的作用是让 gcc 在预处理结束后停止编译过程。选项“-o”是指目标文件,“.i”文件为已经过预处理的C原始程序。在这个阶段中,gcc 首先要检查代码的规范性、是否有语法错误等,以确定代码的实际要做的工作,在检查。

2022-12-21 14:01:43 1083 1

原创 Linux神器——vim

vim有打开,关闭,查看,查询,插入,删除,替换,撤销,复制等等操作。

2022-12-21 10:58:15 5496 1

原创 什么?Linux也有应用商店?

但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装."el7" 表示操作系统发行版的版本. "el7" 表示的是 centos7/redhat7. "el6" 表示 centos6/redhat6.最后一列, base 表示的是 "软件源" 的名称, 类似于 "小米应用商店", "华为应用商店" 这样的概念。关于 yum 的所有操作必须保证主机(虚拟机)网络畅通!

2022-12-21 10:22:13 2435 1

原创 CSDN上讲得最好的——Linux权限

但实际上你所创建的文件和目录,看到的权限往往不是上面这个值。假设默认权限是mask,则实际创建的出来的文件权限是: mask & ~umask。ii.写(w/2): Write对文件而言,具有修改文件内容的权限;iii.执行(x/1): execute对文件而言,具有执行文件的权限;i.读(r/4): Read对文件而言,具有读取文件内容的权限;读权限(这个地方很容易犯错,认为有读权限就可以进入目录读取目录下的文件)所以在目录下,即使可以执行ls命令,但仍然没有权限读出目录下的文档。

2022-12-19 15:25:26 845

原创 Linux常用命令,能解决工作中99%的Linux操作问题

说明: cp指令用于复制文件或目录,如同时指定两个以上的文件或目录,且最后的目的地是一个已经存在的目录,则它会把前面指定的所有文件或目录复制到此目录中。若同时指定多个文件或目录,而最后的目的地并非一个已存在的目录,则会出现错误信息。2. 当第二个参数类型是文件时, mv命令完成文件重命名,此时,源文件只能有一个(也可以是源目录名),它将所给的源文件或目录重命名为给定的目标文件名。-a或–all 详细输出所有信息,依次为内核名称,主机名,内核版本号,内核版本,硬件名,处理器类型,硬件平台类型,操作系统名称。

2022-12-18 16:28:56 1079 1

原创 多态——C++第三大特性

Func1完成了重写,所以d的虚表中存的是重写的Derive::Func1,所以虚函数的重写也叫作覆盖。一个含有虚函数的类中都至少有一个虚函数表指针,因为虚函数的地址要被放到虚函数表中,虚函数表也叫虚表。如果基类的析构函数为虚函数,此时派生类析构函数只要定义,无论是否加virtual关键字,学生买票时,是半价买票;派生类重写基类虚函数时,与基类虚函数返回值类型不同。(即派生类虚函数与基类虚函数的返回值类型、函数名字、参数列表完全相同),针或者引用,派生类虚函数返回派生类对象的指针或者引用时,称为协变。

2022-12-14 21:04:25 281 1

原创 我叫Linux,很高兴认识你

操作系统是一款管理软件,对下管理好软硬件资源(手段),对上提供良好的(稳定、安全、高效)运行环境(目的)。进程管理、文件管理、内存管理、驱动管理。

2022-12-14 16:40:27 296 1

原创 继承——C++第二大特性

4、派生类的析构函数会在被调用完成后自动调用基类的析构函数清理基类成员,保证派生类对象先清理派生类成员再清理基类成员。1、子类成员将屏蔽父类对同名成员的直接访问,这种情况叫隐藏,也叫重定义,可以使用基类::基类成员显示访问。第一,基类的私有成员被继承到了派生类中,语法上限制派生类对象在类里类外都不能去访问它。派生类对象可以赋值给基类的对象、基类的指针、基类的引用,俗称称甩刀手切割。1、派生类的构造函数必须调用基类的构造函数初始化基类的那一部分成员。6、派生类对象清理先调用派生类析构再调用基类析构。

2022-12-12 10:30:15 775 9

原创 再谈模板哈哈哈

【优点】1. 模板复用了代码,节省资源,更快的迭代开发,C++的标准模板库(STL)因此而产生2. 增强了代码的灵活性【缺陷】1. 模板会导致代码膨胀问题,也会导致编译时间变长2. 出现模板编译错误时,错误信息非常凌乱,不易定位错误。

2022-12-10 15:14:01 67 1

原创 list类的模拟实现

🐙🐙🐙🐙🐙🐙欢迎来到我的博客🐙🐙🐙🐙🐙🐙。

2022-12-08 18:50:56 261 2

原创 stack和queue

1. stack是一种容器适配器,专门用在具有后进先出操作的上下文环境中,其删除只能从容器的一端进行元素的插入与提取操作。2. stack是作为容器适配器被实现的,容器适配器即是对特定类封装作为其底层的容器,并提供一组特定的成员函数来访问其元素,将特定类作为其底层的,元素特定容器的尾部(即栈顶)被压入和弹出。3. stack的底层容器可以是任何标准的容器类模板或者一些其他特定的容器类,这些容器类应该支持以下操作:empty:判空操作back:获取尾部元素操作push_back:尾部插入元素操作p

2022-12-08 09:30:46 303 1

原创 list类的常用接口

目录一、list的构造二、迭代器的使用三、插入删除等修改操作四、resize/swap/clear五、源代码二、迭代器的使用三、插入删除等修改操作四、resize/swap/clear五、源代码

2022-12-05 10:19:08 271 7

原创 迭代器失效问题

迭代器底层对应指针所指向的空间被销毁了,而使用一块已经被释放的空间,造成的后果是程序崩溃。2、指定位置元素的删除操作erase如果pos刚好是最后一个元素,删完之后pos刚好是end的位置,而end位置是没有元素的,那么pos就失效了。删除vector中的所有偶数,看看哪个代码是正确的?😀😀😀🐕🐕🐕🤔🤔🤔3、Linux下,g++编译器对迭代器失效的检测不是非常严格,处理也没有vs下极端4、与vector类似,string在插入+扩容操作+erase之后,迭代

2022-12-04 14:50:14 746 1

原创 vector类的模拟实现

一、构造和销毁二、vector中的迭代器三、容量操作四、元素访问五、修改操作六、源代码

2022-12-03 14:46:58 180

原创 vector类的常用接口说明

拜拜啦,又是朝着money奋斗的一天!

2022-12-02 21:02:49 193 3

原创 string类的模拟实现

涉及到资源的管理,其拷贝构造函数、赋值运算符重载以及析构函数必须要显示给出。,在释放时同一块空间被释放多次而引起程序崩溃。浅拷贝:编译器合成默认的拷贝构造,导致。

2022-12-02 18:06:06 433 3

原创 string类的常用接口说明

一、string类对象的常见构造。二、string类对象的容量操作。四、string类对象的修改操作。五、string类非成员函数。三、类对象的访问及遍历操作。温馨提示:只讲常用接口,使用方法说明详见代码注释。

2022-11-29 10:19:14 762 3

原创 你真的会写日期吗?

日期-日期 返回天数。

2022-11-27 13:18:41 136 4

原创 什么是模板?

对于非模板函数和同名函数模板,如果其他条件都相同,在调动时会优先调用非模板函数而不会从该模板产生出一个实例。类模板实例化需要在类模板名字后根,然后将实例化的类型放在中即可,类模板名字不是真正的类,而实例化的结果才是真正的类。函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。一个非模板函数可以和一个同名的函数模板同时存在,而且该函数模板还可以被实例化为这个非模板函数。(2)显示实例化:在函数名后的中指定模板参数的实际类型。

2022-11-26 18:08:57 470 5

原创 你不知道的类与对象冷知识

比如上述Time类和Date类,在Time类中声明Date类为其友元类,那么可以在Date类中直接访问Time类的私有成员变量,但想在Time类中访问Date类中私有的成员变量则不行。5. 静态成员也是类的成员,受public、protected、private 访问限定符的限制。在传参和传返回值的过程中,一般编译器会做一些优化,减少对象的拷贝,这个在一些场景下还。友元关系不能传递:如果C是B的友元, B是A的友元,则不能说明C时A的友元。友元函数可以在类定义的任何地方声明,不受类访问限定符限制。

2022-11-23 20:51:54 540 5

原创 轻松拿下——类的默认成员函数

s2对象使用s1拷贝构造,而Stack类没有显示定义拷贝构造函数,则编译器会给Stack类生成一份默认的拷贝构造函数,默认拷贝构造函数是按照值拷贝的,即将s1中内容原封不动地拷贝到s2中,因此s1和s2指向了同一块内存空间。用户没有显示实现时,编译器会生成一个默认赋值运算符重载,以值的方式逐字节拷贝(内置类型成员变量直接赋值,自定义类型成员变量需要调用对应类的赋值运算符重载完成赋值)。创建类类型对象时,由编译器自动调用,保证每个数据成员都有一个合适的初始值,在对象整个生命周期内只调用一次。

2022-11-23 09:31:05 773 4

原创 英语四级核心词,记住这些就够了

149一个名词就是一群人的集合。27很费力地完成艰巨的任务。148高低不同的等级、程度。191摸不着头脑,实在困惑。90注意自己的行为和举止。95抛弃之,不留一丝念想。101立地而起,建立起来。138场景中的身份、角色。141钻研学问,完成学业。145资金流动的金融活动。159生活中的去处和场所。175带有敌对情绪的行为。186不,不,我表示反对。189失落、不愉快的事情。190对待事情的不同态度。12强度极大,令人紧绷。19几乎都是这样的程度。43数量相当,力量相当。44很容易就能改变状态。

2022-11-22 22:03:50 1019 3

原创 火眼金睛巧辨C与C++的不同之处

在C/C++中,变量、函数和后面要学到的类都是大量存在的,这些变量、函数和类的名称将都存在于全局作用域中,可能会导致很多冲突。使用命名空间的目的是对标识符的名称进行本地化,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。(2)命名空间可以嵌套 (3)同一个工程中允许存在多个相同名称的命名空间,编译器最后会合成同一个命名空间中2、命名空间使用(1)加命名空间名称及作用域限定符(2)使用using将命名空间中某个成员引入(3)使用us

2022-11-20 09:55:11 5222 14

原创 数据结构之顺序表和链表

本文用通俗易懂的方式详细讲解了顺序表和链表,是数据结构的精品讲解内容,适合大学在校生和自学的社会人士使用。

2022-08-10 20:51:55 1405 13

原创 算法的时间复杂度和空间复杂度

数据结构(Data Structure)是计算机存储、组织数据的方式,指相互之间存在一种或多种特定关系的数据元素的集合。它是以增删改查的方式在内存中管理数据。算法(Algorithm):就是定义良好的计算过程,他取一个或一组的值为输入,并产生出一个或一组值作为输出。简单来说算法就是一系列的计算步骤,用来将输入数据转化成输出结果。...

2022-07-31 09:23:11 657 12

原创 C语言程序环境和预处理

_FILE__//进行编译的源文件__LINE__//文件当前的行号__DATE__//文件被编译的日期__TIME__//文件被编译的时间__STDC__//如果编译器遵循ANSIC,其值为1,否则未定义intmain(){%s\nlinereturn0;}#defineregregister//为register这个关键字,创建一个简短的名字;)//用更形象的符号来替换一种实现case//在写case语句的时候自动把break写上注意温馨提示。......

2022-07-18 20:01:35 585 15

原创 用C实现三种版本的通讯录

据标题所述,本文将详细讲解三种版本通讯录的写法,分别是静态的版本;动态的版本;文件的版本。

2022-07-17 19:32:57 695 10

原创 C语言中的文件操作

被使用的文件在内存中开辟了文件信息区,存放文件的名字、状态、当前位置等信息,这些信息保存在结构体变量中,结构体类型取名FILE。二进制文件读取结束判断返回值是否小于实际要读的个数,fread判断返回值是否小于实际要读的个数。因为有缓冲区的存在,C语言在操作文件的时候,需要做刷新缓冲区或者在文件中操作结束时的时候关闭文件。定义pf是一个指向FILE类型数据的指针变量,使pf指向某个文件的文件信息区,并访问文件。feof函数表示在文件读取结束的时候,文件结束的原因是读取失败,还是遇到文件结尾。.........

2022-07-17 18:53:07 1659 12

原创 动态内存管理

为什么会有动态内存分配呢?上述开辟空间的方式a.空间大小是固定的b.数组声明时,需指定数组长度,它所需要的内存在编译时分配但有时候所需空间大小在运行时才知道,就要用到动态内存开辟了。...

2022-07-16 20:52:18 1288 12

原创 自定义类型:结构体,位段,枚举,联合

目录一、结构体1、结构体类型的声明2、匿名结构体类型:3、结构体的自引用4、结构体变量的定义和初始化5、结构体内存对齐6、修改默认对齐数二、位段1、位段的声明2、位段的内存分配三、枚举1、枚举类型的定义2、枚举的优点四、联合(公用体)1、联合类型的定义2、联合的特点3、大小的计算在C语言中我们知道有内置类型,如char,short,int ,float,double等,那么如果我们想用一个类型来表示一个复杂的对象该怎么办呢,这时候就要用到自定义类型。结构体是一些成员变量的集合,每个成员可以是不同类型的变量。

2022-07-12 15:34:02 617 11

原创 字符函数和字符串函数

目录strlenstrcpystrcatstrcmpstrncpystrncatstrncmpstrstrstrtokstrerror字符分类函数(需引用头文件#include)字符大小写转换mencpymemmovememcmpC语言本身没有字符串类型,字符串存放在常量字符串或字符数组中。求字符串长度strlen函数返回的是在字符串中'\0'前面出现的字符个数(不包含'\0')形参指向的字符串必须要以'\0'结束函数的返回值是size_t,是unsigned int无符号整型模拟实现:(特别说

2022-07-08 17:36:05 388 6

原创 三子棋游戏

编写此游戏最好新建三个文件:两个源文件,一个头文件即://test.c 测试游戏的逻辑 //game.c 游戏代码的实现 //game.h 游戏代码的声明(函数声明、符号定义)先说下编译此游戏的关键步骤思路:1、创建一个二维数组(棋盘),并进行初始化2、打印棋盘形状3、玩家下棋4、判断输赢并打印棋盘4、电脑下棋5、判断输赢并打印棋盘……(以此循环,直到分出胜负或平局)其中有五个关键的自定义函数:初始化棋盘的函数、打印棋盘的函数、玩家下棋的函数、电脑下棋的函

2022-07-04 21:30:19 856 14

英语四级1800核心词汇

此处为英语四级1800核心词汇,全部记住基本上对付四级就够了。

2022-11-22

空空如也

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

TA关注的人

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