自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(12)
  • 资源 (9)
  • 收藏
  • 关注

原创 C++多线程之线程管控

摘要:本文详细介绍了C++11标准库中的线程操作,主要内容包括:1. 线程创建方式(普通函数、函数对象、lambda表达式)及避免被解释为函数声明的方法;2. 线程分离(detach)和等待(join)的实现,包括异常情况处理和RAII技术应用;3. 线程参数传递机制(普通参数、指针、引用、成员函数、unique_ptr等);4. 线程归属权转移的实现方法;5. C++20新增的jthread特性及其自动join和中断机制;6. 运行时线程数量选择策略;7. 线程ID的获取和应用场景。文章通过代码示例展示了

2025-06-02 17:20:17 519

原创 C++新特性之文件系统std:: filesystem,文件和目录操作

C++ Filesystem库是C++17标准的一部分,它的出现填补了C++长久以来在文件和目录操作方面的空白。在这之前,开发者通常需要使用操作系统特定的API或第三方库。年份发展事件2011Boost Filesystem库发布2014C++14标准发布,但未包含Filesystem库2017C++17标准发布,正式引入Filesystem库。

2025-05-29 14:32:18 1009

原创 C++新特性之Lambda表达式

本文系统介绍了C++中Lambda表达式的语法、特点与应用。首先阐述了Lambda的基本语法结构,包括捕获列表、参数列表、返回类型和函数体的定义方式。重点分析了四种捕获方式:值捕获、引用捕获、隐式捕获和初始化捕获的特点与区别。随后探讨了Lambda表达式的实现原理,说明其本质是重载operator()的匿名类对象。文章详细介绍了各C++标准对Lambda的扩展,包括C++14的泛型Lambda、C++17的*this捕获、C++20的模板参数等新特性。最后列举了Lambda在排序算法、函数绑定、线程编程等场

2025-05-25 19:28:16 911

原创 C++新特性之智能指针

本文系统介绍了C++智能指针的核心概念与应用。首先阐述了智能指针通过RAII机制自动管理动态内存的特性,分析了auto_ptr、unique_ptr、shared_ptr和weak_ptr四种智能指针的实现原理与适用场景。重点讲解了shared_ptr的引用计数机制及其线程安全问题,以及weak_ptr解决循环引用的方法。详细探讨了智能指针的拷贝问题解决方案,包括管理权转移和引用计数等技术。最后介绍了自定义删除器的实现方式及其在资源管理中的应用。全文通过大量代码示例,深入解析了智能指针的设计思想与使用技巧,

2025-05-23 21:45:53 755

原创 C++新特性之四种类型转换

该文介绍了C++中的四种类型转换的具体使用场景和使用方法:const_cast、static_cast、dynamic_cast和reinterpret_cast

2025-05-11 23:14:51 725

原创 现代C++设计模式之原型模式

本文详细描述C++原型模式的设计动机和实现细节

2024-11-17 21:14:29 300

原创 现代C++设计模式之单例模式

双重检验锁定模式简单地说,与上面的方法的区别是:上面的方法中,是先获取锁,再检查空指针,如果指针为空,则创建对象实例;而双重检验锁定模式重,先检查一次空指针,如果指针为空,则获取锁,再检查指针,如果仍为空,则创建对象实例。总之,到这里,我们知道了一件事:C++11 标准库中提供了方法,可以让某件事只做一次(比如初始化一次),不管调用了几次,不管是不是多线程调用的,最终一定只执行一次。配置文件管理器,日志记录器,数据库连接池,线程池,全局缓存,窗口管理器,硬件访问,任务管理器,负载均衡器。

2024-08-16 10:33:33 809

原创 C++设计模式概述

模式是在特定环境下人们解决某类重复出现问题的一套成功或有效的解决方案。

2024-08-15 10:09:44 612

原创 [c++]内联函数(inline)详解

​​1)宏是预处理指令,在预处理的时候把所有的宏名用宏体来替换;内联函数是函数,在编译阶段把所有调用内联函数的地方把内联函数插入;2)宏没有类型检查,无论对还是错都是直接替换;而内联函数在编译时进行安全检查;​3)宏的编写有很多限制,例如只能写一行,不能使用return控制流程等;4)对于C++ 而言,使用宏代码还有另一种缺点:无法操作类的私有数据成员。

2024-03-24 18:16:22 450

原创 adapter适配器模式

//目标接口(新接口)class ITarget{public: virtual void process()=0;};//遗留接口(老接口)class IAdaptee{public: virtual void foo(int data)=0; virtual int bar()=0;};//遗留类型class OldClass: public I...

2019-06-19 16:22:41 227

转载 C++ memory order

导语: C++ 11与JDK 1.9都新增了对memory order的支持,对于memory order这个概念,本文试图阐述清楚与它相关的问题的由来,概念定义以及c++ 11与jdk 1.9对其的支持。Memory Model在分析memory order之前,我们先讲一下为什么要考虑memory order问题,这里需要简单分析一下多线程编程环境中的内存模型。上图所示的是...

2019-05-18 00:00:02 1039

转载 把vim打造成牛逼的C++ IDE

欢迎使用Markdown编辑器写博客对于windows上做C++开发的用户来说,vs为他们做了大量的工作,语法高亮、自动缩进、智能提示等等,当你happy的使用vs时,请记住一点,这是一个收费软件,虽然在我大中华普遍都在使用微软的盗版软件,但作为程序员我们心里应该知道这是不对的行为,然后再去——等等,我们今天讨论的不是这个话题,我们要说的是Linux下的免费软件vim!vim插件安装的教程在互联网上

2016-12-07 00:45:39 1522

传智播客python课件

传智播客课件,传智播客python课件,

2018-12-07

C++23种设计模式源码

李建忠老师讲解的四人帮23种设计模式C++源码,每种设计模式有简单介绍。

2018-12-08

Cpp数据结构原理与经典问题求解 左飞

Cpp数据结构原理与经典问题求解 左飞

2018-12-07

数字图像处理中文第三版_冈萨雷斯pdf

图像处理,机器视觉,计算机视觉开发必备,pdf版,值得一看

2018-12-07

C++ STL程序员开发指南

C++ STL程序员开发指南 PDF

2018-12-07

现代C++程序设计

现代C++程序设计 pdf版,主要是C++的一些高级应用,值得一看。

2018-12-07

深度探索C++对象模型

深度探索C++对象模型,讲C++对象底层实现机制的,值得一看

2018-12-07

ACE程序员教程

科研级网络库,非常强大的C++网络库,该书为pdf版,可以作为ACE入门读物

2018-12-16

空空如也

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

TA关注的人

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