自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 C++线程池系列——CachedThreadPool

本文主要介绍了CachedThreadPool的核心实现思路,给出了具体的可以运行的代码。

2025-02-28 20:04:35 617

原创 C++多线程编程——条件变量wait_for的返回值含义

本文重点强调了C++中条件变量std::condition_variable的wait_for方法在不同重载版本的返回值含义。

2025-02-28 19:44:23 253

原创 C++线程池系列——FixedThreadPool

本文介绍了FixedThreadPool的实现,给出了具体的可以运行的代码。

2025-02-28 14:48:29 486

原创 decltype和sizeof的注意点

sizeof和decltype的要点,无函数体也可以被sizeof和decltype使用。

2025-02-27 13:09:29 118

原创 禁止VS缩进命名空间中的内容

禁止VS自动对命名空间中的内容缩进,本文给出了具体的步骤,含有每一步的图片操作示范。

2025-02-26 15:39:50 142

原创 C++多线程编程——“锁”住混乱:多线程厕所大战解密

当代码世界陷入“多线程厕所大战”,谁来维护秩序?本文将以幽默的例子揭开多线程编程中锁机制的神秘面纱。从基础到高级,我们一探究竟,如何用锁来锁住混乱,确保数据安全。帮你成为厕所(代码)的真正英雄!

2025-02-14 14:40:24 822

原创 C++模板编程——move和forward到底干了点啥?右值引用到底是左值还是右值?

本文主要讲解了move和forward的功能和源码,还有右值引用类型在不同情况下的值类别。

2025-02-12 15:01:10 761

原创 责任链模式——C++实现

的定义:为了避免请求发送者和多个请求处理者耦合在一起,让多个对象都有可能接收请求,将这些对象连接成一条链,并沿着这条链传递请求,直到有对象处理它为止。是一种行为型模式。通俗的说,就是将能够处理请求的对象连成一条链,每当请求来临的时候,请求就会沿着这条链传递,直到有一个对象能够处理该请求,或者所有的处理对象都无法处理该请求。从实现上来看,责任链就好像一条单链表一样。把责任链上的对象连接好了之后,客户只需要将请求发送到责任链上即可,而无需直到请求处理细节以及请求是被哪个对象处理了。

2025-02-11 19:18:11 400

原创 C++模板编程——typelist的实现

本文主要介绍了使用元编程编写typelist,并给出了具体的可运行的代码。

2025-02-10 21:54:01 478

原创 桥接模式——C++实现

本文主要通过一个例子讲解了桥接模式的简单应用方法,并给出了C++的代码实现。

2025-02-10 19:17:41 452

原创 C++模板编程——完美转发与可变参函数模板

首先介绍几个概念:假设现在有A、B、C三个函数。

2025-02-06 23:21:00 456

原创 C++模板编程——获取类型名字的小工具(基于Boost库)

本文主要介绍了一个基于Boost库的类型名称获取的小工具。

2025-02-06 16:13:17 149

原创 C++多线程编程——call_once和单例模式

本文主要讲解了通过call_once和once_flag来保证懒汉式单例模式的线程安全问题。

2025-02-05 21:35:40 680

原创 C++多线程编程——基于策略模式、单例模式和简单工厂模式的可扩展智能析构线程

本文主要介绍了一种基于策略模式、单例模式、简单工厂模式的可扩展智能析构线程,通过对thread进行包装,使得线程对象在销毁时自动进行join或detach。

2025-02-04 23:36:59 1345

原创 C++模板编程——模板中的特殊继承关系

奇异的递归模板模式(Curiously Recurring Template Pattern, CRTP)这种编程手法把派生类作为基类的模板参数。这种编程手法有什么用呢,下面介绍几种情况。

2025-02-04 16:42:12 283

原创 C++模板编程——多态在模板中的应用

文章主要介绍了C++中的传统多态和模板多态,静态多态和动态多态的辨析

2025-02-04 16:00:37 319

原创 C++模板编程——可变参类模板

主要讲解了可变参类模板的常见用法,包括多种参数包的展开方法、可变参基类以及可变参类模板的特化等内容。

2025-02-04 15:36:48 880

原创 C++模板编程——可变参函数模板之折叠表达式

主要讲解了cpp模板编程中的四种折叠表达式

2025-02-02 22:30:46 718

原创 C++模板编程——可变参函数模板

C++可变参函数模板、参数包展开以及重载的讲解

2025-02-02 18:46:22 698

原创 代理模式——C++实现

代理模式是一种行为型模式。代理模式的定义:由于某些原因需要给某对象提供一个代理以控制该对象的访问。这时,访问对象不适合或者不能直接访问引用目标对象,代理对象作为访问对象和目标对象之间的中介,代理模式也叫做委托模式。代理模式实际上作为一个中间层,处于要操作的目标对象和客户代码之间的中间层。相当于一个中介。抽象主题(抽象接口类):通过接口类声明真实主题的业务接口。真实主题(业务实现类):实现了具体的业务,是代理对象所引用的真实对象。

2025-02-02 17:24:17 507

原创 享元模式——C++实现

是一种。享元模式用于缓存共享对象,降低内存消耗。共享对象相同的部分,避免创建大量相同的对象,减少内存占用。享元模式需要将对象分成内部状态和外部状态两个部分。所谓内部状态指的是可以共享的状态,外部状态指的是会随着对象的使用而改变的的状态。比如,如果要模拟一个五子棋程序。对棋子来说,棋子的图片就属于内部状态,而棋子的位置和大小就属于外部状态。棋子的图片可以被所有使用棋子的地方所共享,棋子的位置和大小每个使用的地方都不一样。

2025-02-02 16:04:55 425

原创 适配器模式——C++实现

一种。适配器模式的定义:适配器模式将一个类的接口,转换成客户期望的另一个接口。适配器让原本接口不可兼容的类可以合作无间。简而言之,适配器模式可以将一种接口转换成我们想要的形式。举个例子,家用插座的供电时220V交流电,而普通手机的充电口需要的是5V的直流电。它们俩的接口不同,所以不可以通过导线直接连接起来给手机充电。我们平时使用的手机充电器它的正式名称是电源适配器,电源适配器通过一系列的转换,将220V交流电转换成手机所需要的5V直流电。

2025-01-24 16:28:36 460

原创 状态模式——C++实现

是一种。状态模式的定义:状态模式允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。通俗的说就是一个对象在不同的状态下拥有不同的行为。对象可以拥有多个不同的状态,不同状态下调用同一个接口会产生不同的行为。状态模式通过把状态封装成类,可以很好地维护一个对象的不同状态,并且方便地扩展新的状态。举个例子:假如在游戏程序中,要模拟一个怪物。怪物的总血量为100,当血量大于50时,怪物处于亢奋状态,怪物受击时会进行反击;当血量小于等于50时,怪物处于恐慌状态,受击时会选择逃跑。

2025-01-23 21:50:16 894

原创 VS2022+GLFW+OpenGL搭建ImGUI环境竟如此简单!

打开,下载项目并解压缩。把图中的所有.h文件和.cpp文件复制粘贴到你的项目里。打开backends文件夹把这5个文件复制粘贴到你的项目里配置完成!

2025-01-08 22:07:32 515

原创 Assimp的ReadFileFromMemory函数踩坑

使用ReadFileFromMemory函数无法加载obj和md3等模型数据分散在多个文件中的模型。这时就只能通过ReadFile函数来加载模型或者通过自定义的IOSystem。

2025-01-04 16:11:17 245

原创 组合模式——C++实现

是一种。组合模式又叫做部分整体模式,组合模式用于把一组相似的对象当做一个单一的对象。特别擅长处理树形的数据,对于非树形的数据不好用它。对于树形的数据,一个典型的例子就是文件系统。在文件系统里大致上可以分为和两种类型的数据文件夹中可以包含文件也可以包含其他文件夹。就像下面这张图一样,文件的组织就像一颗多叉树。如果使用组合模式来实现类似tree命令的文件名打印,UML类图如下:比较简单,不详细说了,直接看下面的代码吧,兄弟们。

2025-01-03 21:45:01 516

原创 VTK User‘s Guide第四版(最新的)——中文翻译版PDF

双语对照版PDF、中文版PDF。两个版本的中文部分是一模一样的,只是一个有英文对照,一个是纯中文。建议看双语对照版的,有的地方翻译不准确。

2025-01-02 20:03:26 156

原创 VS2022+VTK配置环境竟如此简单!(无需CMAKE知识)

手把手配置VTK的VS2022开发环节,每一步都有图片展示,小小白也能一次成功,环境配置竟如此简单!

2025-01-02 16:54:28 2413 13

原创 命令模式——C++实现

通俗地讲解命令模式,并且给出了C++代码示例

2024-12-31 20:48:42 598

原创 外观模式——C++实现

通俗地讲解外观模式的概念,并使用C++代码进行演示

2024-12-31 17:26:53 421

原创 OpenCV+VS2022——环境搭建竟如此简单

手把手教您配置VS编辑器中OpenCV的C++开发环境,每一步都有图片说明,一次就成功,不用翻来覆去再找教程!!

2024-12-31 16:48:10 2026

原创 LearnOpenGL——加载模型的中文路径问题和解决办法

LearnOpenGL在模型加载章节中文路径问题,ifstream使用的一个坑,以及最后渲染出来的图像的问题。

2024-12-26 21:36:21 763

原创 单例模式——C++实现

分别展示了饿汉式和懒汉式的单例类的实现,并给出了线程安全的版本。最后介绍了单例对象的析构办法。所有实例代码均使用C++实现。

2024-12-24 14:41:17 399

原创 装饰器模式——C++实现

使用比较通俗的语言讲解了装饰器模式,并给出了C++的实例代码。

2024-12-24 14:00:24 398

原创 OpenGL——Texture2D类

OpenGL的2D纹理辅助类,C++实现

2024-12-24 13:05:41 231

原创 观察者模式——C++实现

通俗易懂地讲解了观察者模式(发布订阅模式),并使用C++演示了代码示例

2024-12-20 21:03:45 567

原创 策略模式——C++实现

通俗地讲解了策略模式,并使用C++语言编写了示例代码。

2024-12-20 20:28:22 368

原创 生成器模式——C++实现

以通俗易懂的形式介绍了建造者模式(生成器模式),并给出了C++代码示例。

2024-12-15 20:56:14 758

原创 原型模式——C++实现

以大白话搭配C++代码示例的形式介绍了原型模式

2024-12-10 20:58:44 307

原创 三大工厂模式——C++实现

以通俗易懂的大白话配合具体的C++代码示例介绍了三种工厂模式以及它们的优劣

2024-12-10 20:37:43 772

VTK User's Guide第四版(最新的)-中文翻译版PDF

VTK User's Guide双语版PDF

2025-01-02

空空如也

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

TA关注的人

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