- 博客(29)
- 收藏
- 关注
原创 进程与线程的区别
进程与线程的区别 进程是系统资源管理的最小单位(内存管理) 线程是CPU执行调度的最小单位 线程和进程类似,都是抢占式执行创建一个新的进程:相当于开一个新工厂,开销大,成本高创建一个新的线程:相当于在原有的工厂里建一条生产线,开销小,成本低线程相对于进程的优点:(线程之间占用一块物理空间) 创建/销毁开销小 切换调度开销小...
2019-09-07 11:00:02
153
原创 类和对象上
1.类与对象的初步认知C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。关注的是过程中的数据与方法C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。关注的是对象的属性与功能面向对象的三大特性:封装、继承、多态封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对...
2019-08-22 12:03:30
155
原创 类和对象中
一、类的6个默认成员函数1,构造函数 主要完成初始化工作,名字与类名相同,创建类类型对象时由编译器自动调用,保证每个数据成员都有一个合适的初始值,并且在对象的生命周期内只调用一次class Date{public :// 1.无参构造函数Date (){}// 2.带参构造函数Date (int year, int month , int da...
2019-08-22 11:32:34
157
原创 内联函数,auto关键字(C++11)
内联函数1,inline修饰的函数叫内联函数,编译时C++编译器会在调用内联函数的地方展开,编译期间编译器会用函数体替换函数的调用,没有函数压栈的开销,提升了程序运行效率2,查看方式在release模式下,查看编译器生成的汇编代码中石否存在 :call 函数名在debug模式下,看是否有函数压栈3,特性:<1>inline 是以空间换时间的方法...
2019-08-17 21:20:46
739
原创 this指针存在哪里? this指针可以为空吗?
this指针存在哪里? 其实编译器在生成程序时加入了获取对象首地址的相关代码。并把获取的首地址存放在了寄存器ECX中(VC++编译器是放在ECX中,其它编译器有可能不同)。也就是成员函数的其它参数正常都是存放在栈中。而this指针参数则是存放在寄存器中。类的静态成员函数因为没有this指针这个参数,所以类的静态成员函数也就无法调用类的非静态成员变量this指针可以...
2019-08-17 21:18:40
1596
转载 .hpp与.h区别
版权声明:本文为博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。本文链接:https://blog.csdn.net/f_zyj/article/details/51735416.hpp,本质就是将.cpp的实现代码混入.h头文件当中,定义与实现都包含在同一文件,则该类的调用者只需要include该.hpp文件即可,无需再将cpp加入到proje...
2019-08-17 17:28:44
195
原创 关于TCP三次握手、四次挥手的个人理解
相信大家对网络协议中 TCP 三次握手和四次挥手都很了解,那我们要怎么把这过程描述出来呢?三次握手: 第一次握手:客户端发送一个 SYN 报文请求连接 第二次握手:服务器收到请求 SYN 报文,并应答客户端一个 SYN+ACK 报文 第三次握手:客户端收到服务器的应答 SYN+ACK 报文后,回应一个 ACK 报文 服务器收到 ACK 报文,三次握...
2019-07-24 09:13:23
180
转载 11条最全面的C/C++编码规范总结
转发:https://blog.csdn.net/zang141588761/article/details/50608736对于不同的编程语言来说,具体的编码规范可以有很大的不同,但是其宗旨都是一致的,就是保证代码在高质量完成需求的同时具备良好的可读性、可维护性。例如我们可以规定某个项目的C语言程序要遵循这样的规定:变量的命名,头文件的书写和#include 等等。下面是一些广为采...
2019-05-10 16:07:08
126
原创 进程 —— 上
什么是进程?书本概念:程序的一个执行实例,正在执行的程序等内核观点:担当分配系统资源(CPU时间,内存)的实体如何描述进程?进程信息被放在一个叫做进程控制块的数据结构中,可以理解为进程属性的集合。进程控制块也叫 PCB 进程控制块,Linux下称为 task_struct。task_struct 是一个很大的结构体,包含许多内容,一个进程对应一个task_struct。...
2019-05-10 15:20:09
122
原创 数据结构初识
什么是数据结构?数据结构是研究计算机中非数据值计算问题中的数据对象及它们之间的关系和操作算法。具体主要包含三个方面的内容:1,数据的1逻辑结构2,数据的储存结构3,数据的操作算法基本概念1,数据(信息的载体)数值数据非数值数据2,数据元素3,数据对象4,数据结构集合:数据元素之间属于同一个集合,此外,没有任何关系线性结构:数...
2019-05-09 22:46:50
150
原创 进程的调度算法———操作系统的分类
操作系统管理了系统的有限资源,当有多个进程(或多个进程发出的请求)要使用这些资源时,因为资源的有限性,必须按照一定的原则选择进程(请求)来占用资源。这就是调度。目的是控制资源使用者的数量,选取资源使用者许可占用资源或占用资源进程调度算法要求:高资源利用率、高吞吐量、短周转时间,用户满意等原则。操作系统中的资源分为两类:硬件资源:CPU,打印机等软件资源:数据,程序等...
2019-05-08 17:10:38
320
1
原创 冒泡排序——及其优化
在排序算法中,冒泡排序算是最简单的一种排序方法了,它就像水中的气泡一样,越往上越大,基本思想就是将一数组无序数据中的大数沉到数组尾部,小数排在数组头部,实现从小到大排序,或者相反。Bubblesort冒泡排序void Bubblesort(int array[], int size){}1,先确定数组区间,即循环边界;循环有两层---a,外层循环;遍历除确定顺序...
2019-05-07 18:06:39
159
原创 deque
deque:逻辑上连续,物理上分段的vector数组,随机访问,作为底层特殊容器的实现deque:中控(指针数组)+缓冲map:中控,存放缓冲区的地址buffer:缓冲数组iterator:迭代器迭代器中的四个指针(node 车厢, first 车厢第一个位置,last 车厢最后一个位置,cur 车厢内当前位置)T* cur,缓冲区当前的结点T* first...
2019-05-05 16:34:23
106
原创 类和对象下
1,再谈构造函数:1>,构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值,但是不能称为成员的初始化,只能称为赋初值。初始化只能初始化一次,而构造函数体内可以多次赋值初始化列表:以一个冒号开始,接着是一个以逗号分隔的数据成员列表,每个"成员变量"后面跟一个放在括号中的初始值或表达式。2>,类中包含以...
2019-05-05 16:31:54
110
原创 vector
vector,是一个顺序表,是表示可变大小数组的序列容器:范型实现vector:成员都为指针:T*_start:第一个元素的起始位置,eg;int,第一个字节的位置_finish:最后一个元素的结束位置,eg:int,最后一个字节的下一个字节位置_endOfStorage:已分配好的空间结束位置vector与string的区别:...
2019-05-04 10:40:35
127
原创 C++类和对象初识
1.类与对象的初步认知C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。面向对象的三大特性:封装、继承、多态封装:将数据和操作数据的方法进行有机结合,隐藏对象的属性和实现细节,仅对外公开接口来和对象进行交互继承:类级别的代码复用...
2019-05-04 10:33:23
194
原创 linux中搭建git与链接github的用法
平常我们都会在windows系统中编写代码并将其提交到github中,那么怎样在Linux系统中提交我们的代码到github中呢?首先,你先要有一个github账户1,安装git我们先在Linux系统中下载安装git,这里我们说CentOS版本的用yum下载,这里如果不是root权限,要用sudo$ sudo yum install git2,配置git1>...
2019-05-03 17:11:18
1264
转载 linux中 git提交不上 更新被拒绝
error: 无法推送一些引用到 'git@github.com:Blank000000/LinuxCode.git'提示:更新被拒绝,因为远程版本库包含您本地尚不存在的提交。这通常是因为另外提示:一个版本库已推送了相同的引用。再次推送前,您可能需要先合并远程变更提示:(如 'git pull')。提示:详见 'git push --help' 中的 'Note about fas...
2019-05-03 15:41:57
802
1
原创 c++类中默认的6个成员函数
如果一个类中什么都没有,简称空类,空类占一个字节的空间一个空类中生成6个默认的成员函数构造函数:函数名和类名形同,无返回值,完成初始化工作析构函数:完成清理工作拷贝构造函数:使用同类对象初始化 创建对象赋值运算符重载函数:主要是把一个对象赋值给另一个对象取地址操作符重载函数...
2019-05-03 15:25:17
237
转载 编写一个简易的进度条代码
编写一个简易的进度条代码#include <stdio.h>#include <unistd.h>#include <string.h>#define NONE "\e[0m"#define RED "\e[0;31m"#define BLUE "\e[0;34m"int main(){ int index = 0; char st...
2019-05-03 14:42:50
1212
转载 为什么调试的时候需要编译选项中添加 -g 及调研readelf
为什么调试的时候需要编译选项中添加 -g?gcc编译时默认的命令是all,即全部进行编译,不能写成其他的加了-g选项时,是可以通过行号、函数名等进行断点的设置的调研readelf:readelf -v:显示版本readelf -h:显示帮助readelf -a test:显示test的全部信息readelf -h test:显示test的ELF Header的文件头信息...
2019-05-03 14:04:27
204
原创 Linux :gcc/gdb及文本编辑器的了解
首先我们要了解一段代码从码好到运行结果成功经过哪几步1. 预处理(进行头去注释,文件展开和宏替换等操作 ".c" 转 ".i" 文件)2. 编译(检查代码的规范性,检查是否有语法错误,生成汇编代码 ".i" 文件转 ".s" 文件)3. 汇编(是把编译阶段生成的 “.s” 文件转成 ".o" 目标文件,生成机器可识别代码即二进制代码)4. 连接(生成可执行文件或库文件将各个段进行链接成完...
2019-05-03 13:53:13
168
原创 Linux基本目录及常用命令
首先我们来了解一下 Linux是什么1,liunx是什么:Linux是一个操作系统内核,Linux完全可以安装在物理软件上,内核来负责对于软件资源和硬件设备的管理总体角度:搞管理的软件用户角度:管理硬件,管理软件操作系统:内存管理,文件管理,进程管理2,Linux是全世界市场份额最高的操作系统,任何一个网络公司都会用到的操作系统3,Linux基本目录:/(root,...
2019-05-03 13:13:29
1744
翻译 Run-Time Check Failure #2 - Stack around the variable 'name' was corrupted.问题
今天突然弹出了这个问题,解决之后发现是数组越界的问题。编译及运行都可以实现,但在结束后突然弹出中断或者继续的问题。这时候就是定义的数组空间小于输出的数据从而导致的数组越界问题。需要将数组的大小重新定义大一些。...
2018-11-14 21:39:37
727
原创 2018.9.22
都说万事开头难,学习编程确实开头就很难,记得东西太多了,尽管在学校的课程都已经学习了一遍,但还是很多东西都没有记住,想想后面还有很多知识要去理解,就感觉压力好大,不过既然抱有选择,那就继续下去。了解了很多学长学姐的就业情况,感觉情况还不错,但那都是佼佼者,所以我还得给自己一些更大的鞭策。从学长学姐那也知道了还有很多网络公司提供就业岗位,也知了网易不是那么好进的,所以我得在这一年...
2018-09-22 20:28:28
90
翻译 2018.9.19
求泳池的外圈走道面积花费(c++)#include <iostream>#include <math.h>using namespace std;#define lan 35#define passway 20#define pi 3.14class circle{ public: circle (float r); float C(); ...
2018-09-19 21:19:26
79
翻译 2018.9.18
输入一个年份判断是不是闰年#include <stdio.h>#include <math.h>int main(){ int y; printf ("请输入一个年份:\n"); scanf ("%d",&y); { if(y%4==0&&y%100!=0||y%400==0) printf ("该年份是...
2018-09-18 23:42:13
83
原创 第一篇 2018.9.17
我是西安科技大学通信学院2016级学生,这学期大三了,在纠结了一个假期后终于决定毕业找工作了,因为非常清楚自己的能力,所以打算开始学习编程。编程语言是另一个虚拟领域的构建工具,但是编写出来的东西却又改变着现实世界,所以它很有吸引力,对我而言。最初的,也是最大的目的就是想学习一项技能在毕业能有一个·好的工作,也想从能简单的编写 hello word! 到可以 BAT的高级技术人才,以后的日子还长,但...
2018-09-17 22:30:54
1072
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人