自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 如何实现一个消息中间件(C++实现)

占坑

2021-11-29 23:50:56 1321

原创 关于ABA问题的方案

关于无锁设计的一些见解。

2022-11-01 23:35:04 186 1

原创 C++元编程之enable_if

关于C++的标准库中的enable_if的使用和关于SFINAE的原理。

2022-07-16 16:47:33 1944

原创 C++实现一个不会发生资源泄露的无锁栈

使用风险指针来实现一个无锁栈

2022-02-28 22:56:54 800

原创 线程安全的单例模式C++实现

单例模式的介绍单例模式的优点是只有一个对象,可以节省资源,提高运行速度,提供一个全局的访问点。在使用过程中,写一个具有单例模式思想的程序可以很简单,但是如果要做到线程安全并且生成实例的过程中符合业务需求,是一件困难的事情。Lazy mode(懒汉模式)懒汉模式,会将实例化的时间延迟到正式调用接口的时候。简单的实现方式class singleton{public: singleton* getInstance() { if(p_singletonIns == nullptr) {

2022-01-23 16:27:15 3280 4

原创 个人笔记:C++之RAII

理解RAII类RAII:Resource Acquisition Is Initialization。用中文来说就是资源获取就是初始化。在这个类的实例的生命周期中,初始化构造的时候,就将资源获取了,而在调用析构函数的时候,将资源释放了,这样避免了资源的泄露。所以重点在于使用什么手段来结束类的生命周期?在这里与程序中的栈的局部变量的生命周期的,因为在函数调用结束后,系统会将栈的空间进行回收,如果是分配在栈空间上的类,则会在这个过程中调用类的析构函数。而在RAII类的实现中,正是利用了这个机制,将RAII

2022-01-08 08:58:46 185

原创 设计模式(C++实现)

一、单例模式优点:缺点:应用场景:示范:在这里插入代码片

2021-11-30 11:01:19 1090

原创 在glibc中是如何分配一块堆内存的(malloc)

为什么在linux上读取到空指针会导致程序crashlinux会为进程的用户空间的0x0的虚拟地址映射到一个用户没有权限访问的页中,内核保证没有其它页映射到这个区域。编译器会将空指针编译成指向0x0的虚拟地址,程序可以去读取地址这时候会按照正常流程,读取地址就会触发缺页中断,缺页异常程序会被调用,然后去读取一块没有访问权限的页,缺页异常程序发现没有访问权限,内核会发送SIGSEGV 信号给进程,该信号默认是让进程自杀。...

2021-11-23 09:01:56 280

原创 git 使用

使用hard值恢复文件对没有被git track到的文件没有用使用git stash save " commit" 保存备注使用 git stash,需要注意的是这会将工作区的还原到上一次git pull的状态,虽然当前已经修改的工作区的内容会保存到stash中,但是在不用切换到其他分支时,或者pull时,不要随便使用该命令.git stash apply or pop 将stash的代码恢复中git log all 修复HEAD error的问题git checkout --orphan ne

2020-09-25 14:41:53 283

原创 一级指针与二级指针

理解指针的内存形式

2019-09-28 18:27:38 1058 1

空空如也

空空如也

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

TA关注的人

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