logo
publist
写文章

简介

该用户还未填写简介

擅长的技术栈

可提供的服务

暂无可提供的服务

c++简单实现redis

本节我们一步一步实现redis的基本数据类型,redis的数据类型讲解可以看核心redis类的实现我们通过这个类来控制整个redis系统,这是一个单例类,commandTypes是各个设计命令对应的类型,比如set对应string,hset对应hash,redis这个成员变量是所有的键值对,这个函数继承了一个单例模板类,我们通过you hao,它只对外开放一个command接口,参数和返回值都是一

文章图片
#c++#redis#bootstrap
详解c++20的协程,自定义可等待对象,生成器详解

自定义可等待对象需要满足特定的接口要求,主要涉及和这三个成员函数。:用于判断是否可以立即恢复协程的执行。若返回true,协程会马上恢复;若返回false,协程就会被挂起。:在协程挂起时调用,这里可以执行异步操作。在示例中,使用一个新线程来模拟异步操作,操作完成后恢复协程。:在协程恢复执行时调用,返回异步操作的结果。return 42;});// 输出: 42return 0;

#c++20#算法#开发语言 +1
详解c++的编译过程,如何从源文件到可执行文件到

本节详细介绍c++的编译过程,c++从代码到可执行文件有四个阶段:我们可以使用这一命令进行预处理,预处理后的文件还是文本文件可以打开查看以.i为结尾这一阶段主要处理以井号#开头的代码,比如, , ,对代码进行一个初步的处理,并且会把所有注释删除,通过#include将头文件的实际内容放入当前文件中,主要有两种格式 或,对于尖括号的格式,编译器会在默认的头文件搜索路径(通常是标准库头文件所在的系统目

文章图片
#c++#开发语言
c++手撕协程库,实现生成器与自定义可等待对象

Context定义了我们用到的14个寄存器,而swap_context函数就是我们代码层面用来调用汇编的接口,这个函数只有声明没有定义,在连接阶段会将汇编代码与当前的声明合并,详细的c++编译过程可以看。协程是用户态的线程,它需要由程序来进行调度,如上下文切换与调度设计都需要程序来设计,并且协程运行在单个线程中,这就成就了线程的低成本,简单讲协程就是一种可以被挂起与恢复的特殊函数。你可以简单的理解

文章图片
#c++#开发语言
详细讲解c++中线程类thread的实现,stl源码讲解之thread

本节我们来详细介绍一下c++中的线程类thread,在讲解的过程中会用到大量模板的知识,可以去看是一个 SFINAE(Substitution Failure Is Not An Error)技巧,用于禁止使用thread对象作为可调用对象来构造新的thread对象。

#c++#开发语言
c++智能指针详解,如何防止循环引用

智能指针是c++ 11标准,添加的用于管理内存资源的类,通过智能指针我们可以,轻松的对内存进行分配与释放,这使得我们不再需要,为手动管理内存的繁琐而烦恼了,主要有三个智能指针,分别是unique_ptrshared_ptrweak_ptr,我们下面一一介绍我们先来看看智能指针的基本使用上面这一部分代码,如果没有智能指针是不可以出现~Test析构的,而使用了智能指针后当func1函数退出时,我们创建

文章图片
#c++#开发语言
到底了