自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C/C++static

C语言中的static1.static修饰局部变量static修饰局部变量就构成了静态局部变量,静态局部变量属于静态存储方式。特点:静态局部变量在函数定义它的生存周期为整个程序生命周期,但作用域与自动变量相同,只能在定义该变量的函数体内使用该变量,退出函数后尽管变量还继续存在但是不能使用它。对于基本类型的静态局部变量如果在声明时没有赋值,那么系统会给它赋值0。而对自动变量不会赋值,自动变量是随机值。2.static修饰全局变量在全局变量前面加上static就构成了静态的全局变量。特点:

2021-10-30 18:25:51 172

原创 网络基础知识总结二

文章目录Http协议URLurlencode 和 urldecodeHttp协议格式HTTP的方法HTTP状态码HTTP常见Header最简单的Http服务器HttpServer.hppHttpServer.ccHttp vs Https端口号端口号划分范围知名端口号netstatpidofUDP协议UDP协议端格式UDP特点基于UDP的应用层协议UDP协议端格式UDP特点基于UDP的应用层协议Http协议URL平时我们俗称的 “网址” 其实就是说的 URL.urlencode 和 urldeco

2021-10-27 21:34:12 136

原创 简易网络版计算器

简易网络版计算器简易网络版计算器Server.hppClient.hppServer.ccClient.ccProtocol.hpp简易网络版计算器Server.hpp 1 #ifndef __SERVER_HPP__ 2 #define __SERVER_HPP__ 3 4 #include <iostream> 5 #include <unistd.h> 6 #include <stdlib.h> 7 #include <s

2021-10-26 20:49:34 182

原创 new/delete&malloc/free的区别

new/delete&malloc/free的区别new/delete比malloc/free效率高。new/delete是关键字,需要编译器支持;malloc/free是库函数,需要头文件支持。new操作符申请内存时不需要指定内存大小,编译器会根据类型信息自行计算;malloc则需要显式指明所需内存大小。new操作符内存申请成功时,返回的是对象类型的指针,类型严格与对象匹配,不需要进行类型转化;malloc内存申请成功时,返回值则是void*,需要进行类型强转转成需要的类型。new是符合

2021-10-25 19:57:00 246

原创 C/C++区别

C/C++区别(简述)C语言是面向过程的语言,C++是面向对象的语言C++有继承、封装、多态的特性,封装是隐藏了实现细节,使代码模块化。继承是通过子类继承父类的方法和属性,是的代码得到复用。多态是一个接口,多种实现,通过子类重写父类的虚函数,实现了接口的重复利用。C/C++内存管理的方式不一样,C有malloc/free,c++有mallco/free 、new/delete。C++还有函数重载、引用、缺省参数、内联函数、的等概念,C语言中没有面向过程和面向对象的区别面向过程:面向过程编程时

2021-10-21 21:42:46 95

原创 网络编程套接字

网络编程套接字1. 基础知识1.1 源IP地址和目的IP地址1.2 认识端口号(port)1.3 理解端口号和进程ID1.4 理解源端口号和目的端口号1.5 TCP协议1.6 UDP协议1.7 网络字节序2. socket编程接口2.1 socket常见接口2.2 socketaddr结构2.2.1 sockaddr结构2.2.2 sockaddr_in结构2.2.3 in_addr结构3. 简单的UDP网络程序UDP客户端UDP服务端地址转化函数4. 基于线程池的简单的TCP网络程序tcpServer.h

2021-10-14 08:30:50 247

原创 网络基础知识总结一

网络基础一一、网络背景1.网络发展2.协议3.网络协议初识协议分层各层之间的功能TCP/IP五层(或四层)模型二、网络传输基本流程1.网络传输流程2.数据包封装和分用三、网络中的地址管理1.IP地址2.MAC地址3.集线器 交换机 路由器路由器和交换机区别集线器和交换机区别一、网络背景1.网络发展独立模式:计算机之间相互独立。网络互联:多台计算机连接在一起,完成数据共享。局域网LAN:多台计算机通过交换机和路由器连接起来。广域网WAN:远隔千里的计算机连接在一起。2.协议“协议”是一种约定。

2021-08-04 16:47:26 201

原创 C++--模板初阶

模板初阶1. 函数模板1.1函数模板概念1.2 函数模板格式1.3函数模板的原理1.4函数模板的实例化2.5 模板参数的匹配原则2. 类模板2.1 类模板的定义格式2.2 类模板的实例化1. 函数模板1.1函数模板概念函数模板代表了一个函数家族,该函数模板与类型无关,在使用时被参数化,根据实参类型产生函数的特定类型版本。例如,交换两个数据://函数模板定义格式template<class T> void Swap(T& x1, T& x2){ T temp =

2021-04-27 17:34:12 90

原创 C++--类和对象下篇

文章目录1. 再谈构造函数1.1 构造函数体赋值1.2 初始化列表2.C++11 的成员初始化新玩法3. 友元4. static成员5. 内部类6. 再次理解封装1. 再谈构造函数1.1 构造函数体赋值在创建对象时,编译器通过调用构造函数,给对象中各个成员变量一个合适的初始值。class Date{public: Date(int year, int month, int day) { _year = year; _month = month; _day = day; } pri

2021-04-25 17:04:04 107

原创 C++--类和对象中篇

类和对象中篇1. 类的6个默认成员函数2. 构造函数3. 析构函数4. 拷贝构造函数5. 赋值操作符重载6. 默认拷贝构造与赋值运算符重载的问题7. const成员函数8. 取地址及const取地址操作符重载1. 类的6个默认成员函数2. 构造函数3. 析构函数4. 拷贝构造函数5. 赋值操作符重载6. 默认拷贝构造与赋值运算符重载的问题7. const成员函数8. 取地址及const取地址操作符重载...

2021-04-20 17:43:24 722 1

原创 Linux--常用工具gdb

文章目录一、Linux调试器--gdb使用一、Linux调试器–gdb使用背景程序的发布方式有两种,debug模式和release模式Linux gcc/g++出来的二进制程序,默认是release模式要使用gdb调试,必须在源代码生成二进制程序的时候, 加上 -g 选项使用gdb binFile 退出: ctrl + d 或 quit 调试命令:list/l 行号:显示binFile源代码,接着上次的位置往下列,每次列10行。list/l 函数名:列出某个函数的源代码。r或run:运

2021-04-14 17:46:48 120

原创 Linux--项目自动化构建工具make/Makefile

文章目录一、一、

2021-04-14 17:42:10 110

原创 C++--类和对象上篇

类和对象上篇1.面向过程和面向对象初步认识2.类的引入3.类的定义4.类的作用域5.类的实例化6.类的访问限定符及封装7.类的对象大小的计算8.类成员函数的this指针1.面向过程和面向对象初步认识C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。C++是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完成。便于理解举一个例子:设计一个外卖系统面向过程关注的是:点餐配餐送餐(函数等)面向对象关注的是:用户商家骑手,关注的是这三个类是如何交

2021-04-14 13:48:37 90

原创 Linux--开发工具

文章目录一、 Linux 软件包管理器 yumrzsz二、linux开发工具一、 Linux 软件包管理器 yum什么是软件包在Linux下安装软件, 一个通常的办法是下载到程序的源代码, 并进行编译, 得到可执行程序.但是这样太麻烦了, 于是有些人把一些常用的软件提前编译好, 做成软件包(可以理解成windows上的安装程序)放在一个服务器上, 通过包管理器可以很方便的获取到这个编译好的软件包, 直接进行安装.软件包和软件包管理器, 就好比 “App” 和 “应用商店” 这样的关系.yum(

2021-04-08 20:27:21 401

原创 Linux--权限管理

Linux权限一、Linux权限的概念二、Linux权限管理1.文件访问者的分类2.文件类型和访问权限(事物属性)3.文件权限值的表示方法4.文件访问权限的相关设置方法一、Linux权限的概念Linux下有两种用户:超级用户(root)、普通用户。超级用户:可以再linux系统下做任何事情,不受限制普通用户:在linux下做有限的事情。超级用户的命令提示符是“#”,普通用户的命令提示符是“$”。命令:su [用户名]功能:切换用户。例如,要从root用户切换到普通用户user,则使用 su

2021-03-10 15:30:51 5762 6

原创 Linux--常见指令操作

文章目录Linux常见指令1.ls指令2.pwd指令3.whoami指令4.cd指令5.touch指令6.mkdir指令7.tree指令8.rmdir指令 && rm 指令(重要):9.man指令10.cp指令Linux常见指令1.ls指令语法:ls ls [选项][目录或文件]功能:对于目录,该命令列出该目录下的所有子目录与文件。对于文件,将列出文件名以及其他信息。常见选项:1.ls -a 列出目录下的所有文件,包括以 . 开头的隐含文件。2.ls -d 将目录象文件一

2021-02-02 21:42:42 5025 6

原创 数据结构--排序1

排序1.排序的概念2.常见的排序算法3.常见排序算法的实现3.1 直接插入排序3.2希尔排序3.3选择排序3.4堆排序3.5冒泡排序4.快速排序4.1hoare法4.2挖坑法4.3前后指针法4.4快排特性总结1.排序的概念排序:所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。稳定性:假定在待排序的记录序列中,存在多个具有相同的关键字的记录,若经过排序,这些记录的相对次序保持不变,即在原序列中,r[i]=r[j],且r[i]在r[j]之前,而在排序后的序列中,r

2021-01-30 19:10:18 2249 3

原创 C语言——初识

文章目录1.C语言是什么?2.常用数据类型.3.变量、常量4.字符串+转义字符+注释5.选择语句6.循环语句7.函数8.数组9.操作符10.常见关键字11.define定义常量和宏12.指针和结构体1.C语言是什么?C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的

2021-01-17 20:18:16 362 1

空空如也

空空如也

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

TA关注的人

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