- 博客(14)
- 资源 (3)
- 收藏
- 关注
原创 I/O多路复用及其相关详解
Fd详解Fd:是一个正整型数,实际是为文件描述符表(数组)的索引,文件描述符表中保存着已打开的文件的指针。每一个进程在PCB(Process Control Block)即进程控制块中都保存着一分文件描述符表,文件描述符就是这个表的索引,文件描述符表中每个表项都有一个指向已打开文件的指针。现在我们明确一下:已打开的文件在内核中用file结构体表示,文件描述符表中的指针指向file结构体。file结构体才是内核中用来描述文件属性的结构体。系统调用详解系统调用的基本概念:通常,在操作系统中都设置
2022-04-22 09:30:18
259
原创 网络编程部分函数与宏
目录1.strpbrk2.strcasecmp3.strspn4.strchr5.strcat6.stat7.mmap8.iovec9.writev10.printf系列11.fputs12.__VA_ARGS__13.fflush14.sendfile15.recv/send(仅TCP适用)16.fcntl17.getsockopt/setsockopt1.strpbrk//C库函数 头文件<string.h>1. char *strpbrk(char *str1, char *st
2022-04-10 00:41:22
133
原创 C++面试高频知识点(一)
C++1.const关键字2.static关键字3.this指针4.Inline内联函数虚函数可以是内联函数吗?5.volatile关键字mutableexplicit6.asset7.extern8.C++中struct与class区别9.面向对象1.封装2.继承3.多态4.虚函数、纯虚函数5.虚析构函数6.虚表指针、虚函数表6.虚指针、虚函数表7.虚继承8.构造函数可以是虚函数吗10.C++ 内存空间布局11.new/delete, malloc/free12.内存对齐1.类的对象存储空间2.为什么要内
2022-04-10 00:26:43
1076
原创 快速排序--递归和非递归
1.非递归使用一个栈来保存区间的首尾节点,难度比递归大一些。class Solution {public: /** * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可 * 将给定数组排序 * @param arr int整型vector 待排序的数组 * @return int整型vector */ vector<int> MySort(vector<int>& arr) {
2022-04-06 09:18:01
485
原创 单例模式详解(线程安全,饿汉,懒汉模式)
单例模式创建唯一的一个变量(对象),在类中将构造函数设为protected或者private(析构函数设为相对应的访问权限),故外部不能实例化对象,再提供访问它的一个全局访问点,即定义一个static函数,返回类中唯一构造的一个实例对象。任何条件下,保证只有一个实例对象,这就是单例。线程安全:在拥有共享数据的多条线程并行执行的程序中,线程安全的代码会通过同步机制保证各个线程都可以正常且正确的执行,不会出现数据污染等意外情况。懒汉模式:在系统运行中,实例并不存在,只有当需要的时候才创建并使用实例。
2022-02-21 16:49:10
817
原创 设计模式之创建型模式(部分重要模式)
设计模式分为创建型模式,结构型模式,行为型模式。一、创建型模式包含简单工厂模式(GOF23种设计模式中不包含),工厂方法模式,抽象工厂模式,建造者模式,原型模式,单例模式六种模式。创建型模式对类的实例化过程进行了抽象,能够将软件模块中对象的创建和对象的使用分离。创建型模式隐藏了类的实例的创建细节,通过隐藏对象如何被创建和组合在一起达到使整个系统独立的目的。1.简单工厂模式(Simple Factory Pattern)又称为静态工厂方法模式。在简单工厂模式中,可以根据参数的不同返回不同类的实例
2022-02-19 10:57:02
414
原创 C++面试基础知识点
1. C++语言1.const 关键字的使用场景阻止一个变量被改变,可使用const,在定义该const变量时,需先初始化;对指针而言,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;在一个函数声明中,const可以修饰形参表明他是一个输入参数,在函数内部不可以改变其值;对于类的成员函数,有时候必须指定其为const类型,表明其是一个常函数,不能修改类的成员变量;对于类的成员函数,有时候必须指定其返回值为const类型,以使得其返回值不为“左值”
2022-02-11 10:51:01
661
原创 UML类图详解
UML类图UML类图是一种结构图,用于描述一个系统的静态结构。类图以反映类结构和类之间关系为目的,用以描述软件系统的结构,是一种静态建模方法。在类图中一般包含了以下几种关系:类(Class),接口(Interface)以及类之间的关系。类:在面向对象编程中,类是对现实世界中一组具有相同特征的物体的一种抽象。接口:接口是一种特殊的类,具有类的结构但不可被实例化,只可以被实现(继承)。在UML中,接口则需在上方加上<<interface>>。类图中的关..
2022-02-09 10:50:56
3821
原创 MySQL C API函数mysql_num_fields()在官方翻译网站的低级错误
mysql_num_fields()首先本人只能表示MySQL官方翻译网站真的坑,我是一枚学习MySQL的小白,看了很多其他人的博客,明明这个函数是返回结果集中列的个数,为什么这个网站说是返回行数了? 因为是官译网站,我就相对于相信它,搞得我真是百思不得其解。后来还是自己实践了一下,实践是检验真理的唯一标准,结果证明官译网站错了,然后我又找到英文官方网站,我只能说,这种低级错误??只能说太low了… 截图如下2. 经此,以后还是看原文的网站比较好!3. 两个网站链接如下:MySQL错误网
2021-04-16 17:19:54
271
原创 二分查找法(折半查找法)---详细,全面,通俗易懂
二分查找法(折半查找法)1.二分查找法查找某一特定数2.搜索左边界(两种方法)3.搜索右边界(两种方法)1.二分查找法查找某一特定数关于二分查找最重要的是细节,到底是left < right 还是 left <= right , left = mid 还是left = mid + 1,只要弄明白它的区间是开还是闭,细节自然会一清二楚。如下代码因为它此刻的右端索引为right = len - 1; right为数组最后一个索引,为左闭右闭区间,[left,right],缩小区间是故应为[l
2020-10-22 16:50:08
7130
3
原创 C++重点、难点知识(一)
文章目录1.函数重载2.封装3.构造函数和析构函数4.拷贝构造函数5.继承6.多态7.纯虚函数和抽象类8.虚析构与纯虚析构1.函数重载函数名相同,参数列表不同(参数类型不同或者参数个数不同)。目的是提高代码复用性。2.封装封装:是指隐藏对象的属性和实现细节,对外提供公共访问接口。C++认为万事万物皆为对象,对象上有其属性和行为。(类中的属性和行为分别被称为成员变量,成员函数)具有相同性...
2019-07-14 13:10:18
1509
3
原创 LeetCode-NO.01两数之和(一题多解-C++)
目录 Sol-1.暴力法 Sol-2.两遍哈希表 Sol-3.一遍哈希表题目描述:给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。你可以假设每种输入只会对应一个答案。但是,你不能重复利用这个数组中同样的元素。示例:给定 nums = [2, 7, 11, 15], target = 9因为 nums[0] + ...
2019-07-11 18:24:45
405
2
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人