自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 WLog日志库:c++ 高拓展、高性能日志库

c++实现的高性能高拓展日志库!!!

2022-12-12 22:45:14 824

原创 跨平台进程池背后的思想

进程间并发控制其实是比较好解决的,使用boost库中进程相关的有名锁、有名条件变量等即可,其都是基于全局共享内存,当然关于全局共享内存是如何在进程之间互相识别的这个问题,其实我们也能从其前缀得到一些启发:“有名”,那固然是你创间这些控制条件变量的时候取一个名字,很明显这个名字于全局共享内存块形成了一个映射,并且这个映射也是全局的,以便所有进程都能访问该变量。下面就是“最赖皮”的部分,任务队列的实现。但是实现上进程池的实现会比线程池实现复杂的多,主要比较复杂的点的就在于并发安全的任务队列。

2024-10-19 17:40:18 469

原创 linux下的进程池(单类任务版)

【代码】linux下的进程池(单类任务版)

2024-09-14 09:18:03 225

原创 关于C++的初始化问题

成员变量的初始化顺序在C++中十分的重要,特别是在初始化列表对成员变量进行初始化构造的时候,一定要保证初始化顺序与定义生命顺序保持一致。

2024-07-29 10:16:33 193

原创 设计模式学习(uml+理论+案例+源码)

设计模式是在软件设计过程中,由经验丰富的开发者们总结出来的解决特定问题的经典方法和模板。它们是经过验证的、可重用的设计思想,可以帮助开发者有效地解决各种常见的软件设计和开发难题。设计模式通过提供在特定情境中的解决方案,帮助开发者避免重复造轮子、提高代码的可维护性、可扩展性和可读性。这些模式在解决问题时都有其独特的适用场景,并且经过时间的考验,被证明是有效且优雅的解决方案。使用设计模式可以让开发者更加灵活地设计和组织代码,使代码更易于理解、扩展和维护。

2023-07-25 12:08:50 248

原创 头文件循环依赖(循环包括)

​ 今天在编写网络库的时候,遇到了一个很奇怪的问题。实际场景是这样:一个类对应一个头文件,然后两个类互相依赖对方。语法没有任何错误,但就是找不到对应类的类型。后面发现是头文件循环依赖的问题。

2023-05-25 19:04:09 983

原创 你真的了解虚函数吗?(c++代码到汇编)

今天晚上偶然间看到了一篇关于虚函数的博客,引起了我极大的兴趣,于是我打算从代码入手,把虚函数指针和虚函数表的实质弄清楚,后面带着疑惑越走越远,走到了汇编,终于是解开了虚函数的真相。虚函数终于破云开雾!

2023-05-21 04:32:40 374

原创 go语言抖音demo

首先从dao层的代码说起,dao层主要是用来设计对db数据库的访问并把数据封装对象的过程。代码设计全部采用的是单例模式,我的是gorm框架来对数据库进行访问,直接反射到对应的结构体中。在使用gorm的过程中,通过使用外键,使用gorm框架的的has one、has many 、many to many 、belongs to、通过设置标签进行联合查询,有些特殊需求是通过自写sql来解决的。下面通过看几个例子// QueryLikeByUserid DeleteLike 查找映射 并且返回lists。

2023-02-24 13:21:50 1468 3

原创 STL之vector

stl实现之vector。

2023-01-04 05:14:57 135

原创 数据结构之并查集

数据结构之并查集。

2022-12-23 04:24:35 158

原创 malloc内存的分配原理

关于c malloc的底层实现,了解关于内存的模型。

2022-10-30 12:59:58 3289

原创 红黑树实现定时器

红黑树实现定时器。

2022-10-15 13:39:44 354

原创 基础语法值c++提高编程

之前的笔记罢了。

2022-09-11 23:57:40 443

原创 Python爬虫+flask框架+数据库ORM+数据分析+前端三件套

py实现简单的爬虫可视化。

2022-09-09 18:26:41 4949 8

原创 c++实现线程池

c++实现线程池

2022-09-05 00:37:05 2645

转载 什么是io?程序员该怎么理解io

什么是io

2022-08-05 21:59:58 27028 12

原创 java实现一个学生社团管理系统

Java实现一个学生社团管理系统

2022-07-06 02:06:03 1124 5

原创 Windows下的Socket编程C语言

Windows下纯C代码socket编程源码演示同一主机或者用一局域网之间进行通信。服务端代码:#define _CRT_SECURE_NO_WARNINGS#define _WINSOCK_DEPRECATED_NO_WARNINGS #include<stdio.h>#include<string.h>#include<stdlib.h>#include<WinSock2.h>//头文件#pragma comment(lib,"Ws2

2022-05-22 11:02:27 2158 1

原创 c++三种智能指针shared_ptr、weak_ptr、unique_ptr的原理和使用

c++智能指针总结一、智能指针出现的原因1. 基于我们的的编程习惯,在堆区动态管理的资源忘记释放或者回收了,导致内存泄漏。2. 有多个指针指向同一片内存的问题,造成内存资源的重复释放或回收。3. 程序在在抛出异常前申请了资源,以至于异常抛出时导致程序中断,无法执行析构函数delete内存从而导致的内存泄漏。基于上面三个主要的原因,聪明的程序员就提出了智能指针方便管理我们自己的内存,一定程度上解决了c++为了人所诟病的内存管理问题。二、智能指针的本质及其原理智能指针的本质一个对象,是一个

2022-05-18 23:30:04 1572 1

原创 c++11右值引用、移动语义和完美转发

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档前言希望通过本篇文章能让你了c++右值引用的目的,以及其和移动语义、完美转发的联系及用法!一、右值引用1.左值和右值到底什么时候是左值?什么时候是右值?是不是有点混乱?在 C++ 中,每个表达式(expression)都有两个特性:has identity? —— 是否有唯一标识,比如地址、指针。有唯一标识的表达式在 C++ 中被称为glvalue(generalized lvalue)(广义左值)。can be m.

2022-05-11 23:00:40 1196 1

空空如也

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

TA关注的人

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