
C语言
文章平均质量分 76
Leesky520
嗯
展开
-
常见单例模式
单例模式设计模式单例模式:创建型定义:用途:要点:实现1、饿汉式2、懒汉式3、双检锁4、静态内部类5、枚举设计模式创建型、结构型、行为型单例模式:创建型定义:只提供唯一一个类的实例,本质就是一个全局变量用途:①设备管理器:在类里面管理设备驱动②数据池:多个函数对其数据进行读写操作要点:1、static特性,全局只有一个实例,并且用户自己不能声明定义,即将构造函数设为私有private。2、线程安全3、禁止赋值和拷贝实现1、饿汉式从名字上也很好理解,就是“比较勤”,实例在初始化的原创 2021-08-16 15:48:36 · 322 阅读 · 0 评论 -
TCP/IP五层模型详解
TCP/IP五层模型详解应用层HTTP:简单的明文传输的请求——响应协议HTTP数据结构:首行头部空行正文浏览器的控制HTTPS定义CA认证SSL加密流程:混合对称加密过程:url定义组成自定制协议:程序员自己定义网络通信数据格式DNS传输层UDP用户数据报协议TCP传输控制协议协议格式:面向连接:确认双方都有数据收发能力1、三次握手:先建立连接再通信,确保双方具有收发能力2、四次挥手,链接断开需要主动方和被动方进行四次挥手才能结束链接可靠传输面向字节流二者区别程序编写UDP通信程序编写客户端 (主动发送请原创 2021-08-16 15:10:43 · 1265 阅读 · 0 评论 -
基于Linux的C语言系统调用IO接口
这里写目录标题系统调用IO接口函数内容1、open2、write3、read4、lseek5、close代码实现系统调用IO接口系统调用IO接口和标准库的IO接口的区别就在于他更加底层,权限更高,更加灵活直接,简单粗暴。和标准库IO接口一样,也对应了五个函数,分别是open、write、read、lseek和close,从名字就可以看出它的简单粗暴。函数内容1、open函数声明为:int open(const char*pathname,int flags,mode_t mode);open函原创 2021-04-11 23:31:53 · 442 阅读 · 0 评论 -
Linux的C语言标准库IO接口
目录文件操作函数标准库IO接口函数内容代码实现系统调用IO接口文件操作函数在Linux中,甚至是其他设备中,总是需要利用C语言实现操作文件的内容,所谓文件操作,无非就是开关读写几个功能。它们在C语言中,包括最底层的系统调用的版本,以及经过封装之后的标准库版本。标准库IO接口函数内容1、FILE * fopen(const char * path,const char *mode)这个函数是用于代码实现系统调用IO接口...原创 2021-04-11 22:59:45 · 321 阅读 · 0 评论 -
C++的四类默认函数
这里写目录标题四类默认函数构造函数构造函数的编写构造函数的使用析构函数析构函数的编写拷贝构造函数赋值重载函数提一嘴四类默认函数C++作为面向对象编程的一门语言,与C语言的最大区别在于有了类的概念。类的概念脱胎于C语言中的结构体,但是他的范围更大,里面不光有变量、函数,而且还给变量、函数进行分类,分成私有(private)、共有(public)、保护(protect)。而在共有变量中,就存在这四个函数,他们为类的提供了基础和便利。本博客从一个非常简单的类入手,讲解这四类函数的具体功能。class te原创 2021-03-28 17:59:45 · 287 阅读 · 0 评论 -
关于时间的经典OJ题目
这是目录基于C++的关于时间操作的OJ题累加天数问题答案打印日期问题答案日期差值问题答案计算一年的第几天题目答案基于C++的关于时间操作的OJ题都是比较经典的题目,基于C++实现累加天数问题输入描述:输入第一行表示样例个数m,接下来m行每行四个整数分别表示年月日和累加的天数。输出描述:输出m行,每行按yyyy-mm-dd的个数输出。例如:输入12008 2 3 100输出2008-05-13答案#include<iostream>using namespac原创 2021-03-25 21:13:53 · 341 阅读 · 0 评论 -
(OJ题)求一个数的二进制中有多少个一
求一个数的二进制中有多少个一题目:输入一个整数,输出该数32位二进制表示中1的个数。其中负数用补码表示。例如:==输入==:10 (1010)==输出==:2答案:class Solution {public: int NumberOf1(int n) { int count = 0; while (n) { count++; n=(n-1)&n; } re原创 2021-03-25 10:20:25 · 191 阅读 · 0 评论 -
内存调用详解
内存调用详解内存调用的基本原理虚拟内存虚拟内存的基本结构虚拟内存简单练习物理内存物理内存的定义虚拟内存和物理内存页式存储管理段式存储管理段页式存储管理内存调用的基本原理对于计算机的认识,如果仅仅停留在装机时的内存条以及各类内存频率和协议是远不够的,为了深入了解在编程的时候每一个变量虚拟内存虚拟内存的基本结构虚拟内存在存储变量的时候,其主要使用到的结构可以大致分为几个区域,具体如下图所示,以32位操作系统为例:内存结构备注存储的变量1G内核空间0XFFFFFFFF用户代码原创 2021-03-22 15:45:17 · 1055 阅读 · 0 评论 -
利用宏实现奇数位和偶数位的交换以及offsetof
利用宏实现奇数位和偶数位的交换以及offsetof目录利用宏实现奇数位和偶数位的交换以及offsetof奇数位和偶数位交换offsetof奇数位和偶数位交换#define CHANGE(NUM) (((NUM&(0x55555555)) << 1)|((NUM >> 1)&(0x55555555)))该宏的可以简单分为三步:提取奇数位提取偶数位移位按位或提取奇数位的方式是将这个数和0x55555555与,因为0x55555555的本质就是010原创 2021-01-02 16:37:33 · 183 阅读 · 0 评论 -
C语言模拟实现字符串、内存函数
模拟实现string.h中的各类函数文章目录模拟实现string.h中的各类函数字符串操作函数模拟实现strlen模拟实现strcpy模拟实现strcat模拟实现strcmp模拟实现strstr内存操作函数模拟实现memcpy模拟实现memmove字符串操作函数模拟实现strlen这是最简单的一类string函数,输入一个字符串,返回一个字符串长度,这里要注意的是,这里的长度不包括‘\0’,实现代码如下int my_strlen(char * str){ int i = 0; while (原创 2020-12-25 11:20:58 · 157 阅读 · 0 评论