自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 git使用教程

Git是什么? Git是分布式版本控制系统,那么它就没有中央服务器的,每个人的电脑就是一个完整的版本库,这样,工作的时候就不需要联网了,因为版本都是在自己的电脑上。既然每个人的电脑都有一个完整的版本库,那多个人如何协作呢?比如说自己在电脑上改了文件A,其他人也在电脑上改了文件A,这时,你们两之间只需把各自的修改推送给对方,就可以互相看到对方的修改了。Git的工作原理:Git有三个区域...

2019-08-07 23:37:41 190

原创 TCP服务器和客户端设计——c语言入门学习总结

在刚开始学习c语言的网络编程时的个人总结的大体思路,今天拿出来分享给大家希望对初期接触c语言网络编程的小伙伴有所帮助通过实现一个服务器和客户端交互的过程。这里主要通过多进程的方式实现多个客户端链接,虽然这样想出来的有很大的问题,但这样使用最简单的方法可以使大家能更好的理解网络编程的过程吧。网络程序是先有服务器程序启动,等待客户端的程序运行并建立连接.一般的来说是服务端的程序 在一个端口...

2019-04-10 18:03:02 787

原创 C/C++中的结构体区别 && C++中结构体与类的区别

C的结构体首先说说C的结构体的使用,结构体简单来说就是整合了多个类型变量的一个集合类型。方便大家整合数据,例如要记录一个人的信息需要姓名、地址、电话等信息这时结构体便可以发挥巨大的用处。c的结构体有四种声明的方式:(1)struct 结构体名称{ 数据类型 A; 数据类型 B;};声明时:struct 结构体名称 结构体变量名s...

2019-04-10 15:54:34 567

原创 C++中的重载、覆盖、隐藏

一、重载概念:重载是指相同的范围中(例如一个类)不同的函数使用相同的函数名,但是函数的参数个数或类型或顺序不同。调用的时候根据函数的参数来区别不同的函数。重载函数的返回值可相同也可不同。重载在编译期就可以确定了。注意重载是C++中独有的C语言中没有重载,要追究这一问题那就需要从编译的角度去分析这两者的不同。例如void fun(int a,int b);这个函数在C++和C编译后的符号是...

2019-03-31 21:12:03 409

原创 内联函数和宏函数

内联函数内联函数关键字inline,所谓的内联函数和普通函数的区别主要是在函数调用上的区别,内联函数的调用和宏函数有点类似,他在调用点会将代码展开,而不是开辟函数栈。举一个简单的例子。int fun(int a,int b){ return a>b?a:b;}int main(){ int a; cin >> a; int b;...

2019-03-17 15:47:41 687

原创 智能指针—强弱智能指针

智能指针通俗一点来说他是一个类,在类中有一个指针,可以将new获得的地址复制给智能指针。当智能指针过期时,类中的析构函数将使用delete来释放内存。在平时编写代码的时候经常会用到new来开辟空间,而我们开辟出来的空间必须得手动去delete他,但是如果程序员忘记去手动释放那边会出现一个麻烦的问题,内存泄漏!!或者是一块内存被多个函数同时使用时,如果其中一个函数不知道还有其他人也在使用这块内存...

2019-03-15 17:22:10 429

原创 进程与线程

什么是进程?狭义上来说进程就是一段程序的执行过程。所谓的进程是一个能独立运行的基本单位,同时也是系统分配资源和调度的独立单位;进程有三种基本状态:就绪状态:进程已获得除处理器外的所需资源,等待分配处理器资源;只要分配了处理器进程就可执行。运行状态:进程占用处理器资源;处于此状态的进程的数目小于等于处理器的数目。阻塞状态:由于进程等待某种条件(如I/O操作或进程同步),在条件满足之前...

2019-03-12 16:59:41 142

原创 C++中的多态及多态的实现

C++中的多态分为静多态和动多态两种情况。静多态是在编译时就能确定调用函数的类型,包括重载和模板。动多态则是需要在运行时才能确定调用哪一个函数。动多态的产生条件是需要在基类的指针指向派生类的对象,并调用派生类的函数。而要想调用派生类的函数,那么基类里这个函数应写为虚函数。什么是虚函数?所谓的虚函数就是允许子类对其重新的定义,这种称之为覆盖。当基类写了虚函数时便会有虚函数指针(vptr)...

2019-03-05 19:52:26 237

原创 两个队列实现一个栈和两个栈实现一个队列

两个队列实现一个栈入栈时,直接push入queue1中出栈时,先将queue1中的元素除最后一个元素外依次pop出队列,并push入队列queue2中,将留在queue1中的最后一个元素出队列即为出栈元素,最后还要把queue2中的元素再次push进queue1中具体代码如下:template <typename T>class DouQue_Stack{pub...

2019-01-12 16:48:06 118

原创 虚函数的注意事项

虚函数是为了实现多态特性的。虚函数的调用只有在程序运行的时候才能知道到底调用的是哪个函数,虚函数的作用在于通过父类的指针或者引用来调用它的时候能够变成调用子类的那个成员函数。什么时候析构函数得写成虚函数当一个类被用来作为基类的时候,才把析构函数写成虚函数.因为如果这个类被其他类继承但并没有把析构函数写成虚函数,若定义一个父类的指针指向子类,当释放这个指针时的过程是:只是释放了父...

2019-01-08 17:59:07 242

原创 大端小端问题及指针加一

大端放大数据,小端放小数据(1)首先用一个指针*p保存数组首地址及100,令*P=10则数组arr第一个格子存放10.(2)10的16进制为0000000a放进格子里如图放大4倍后的蓝色框里。因为小端存放小数据,而在0000000a中0a是小数据则存放在蓝色框的第一个格子里(3)然后p++则p指向第二个格子,如图放大四倍后的红色框。(4)*p=20则20的16进制为00000014同理大端放大数据...

2018-03-18 17:54:48 389

原创 关于求系统进制问题

这种题可以一个一个进制慢慢推理得出,但是此方法太繁琐浪费时间,有一种简单快捷的方法就是把式子展开两边对n取余n表示进制。例1、如果在某系统中,等式15*4=112成立,则系统采用的是几进制?由于式子里最大的数字是5则知道进制最少是6进制15*4=112(1*x^1+5*x^0)*(4*x^0)=1*x^2+1*x^1+2*x^0        //x进制展开式子4x+20 = x^2+x+2   ...

2018-03-18 16:34:46 180

原创 子函数的改变要能影响到父函数

子函数要想影响父函数首先要传指针再解引用void Swap_err1(int a,int b)//error{ int tmp = a; a = b; b = tmp;}Swap_err1函数显然没有传指针,只是传了a和b的值,则此函数的作用仅仅是在子函数中把两个数值进行了交换并不能影响到主函数的值。void Swap_err2(int *p1,int *p2)//error{ int *tmp ...

2018-03-18 15:02:16 637

原创 指针

指针指针简单来说就是地址的意思,把他记成地址就容易理解多了。他的内容不是很多但是重要的是理解。1、指针就是地址。2、&amp;a:取得a的地址(指针)3、int*p=&amp;a:整型地址(指针)放在整型指针(地址)变量中。在定义时,*表示数据变量为指针变量。指针的大小是由平台决定的。32位平台四个字节,64位平台8个字节。int *p=&amp;a    //这里的*表示p是一个地址*p=100...

2018-03-15 17:29:38 158

原创 关于数字循序、逆序及位数输出问题

一个数字从最高位开始循序输出问题首先要知道这个数字的位数,知道这个数字的最高位是那个单位,再整除一个这个单位最小的数即得到这个数字的最高位数的数即:321这个数,最高位数字单位是百位则321/100得到最高位数字3。在得到这个数字的最高位数字后原数字对这个取余的方法扔掉最高位即:321扔掉最高位 321%100得21void PrintOrder(int n)                   ...

2018-03-10 22:52:00 288

空空如也

空空如也

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

TA关注的人

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