
C++高级特性与工程实践
文章平均质量分 58
C++高级特性与工程实践
键盘会跳舞
不积跬步,无以至千里
展开
-
【C++】:template关键字显示声明与消除歧义
某些场景下使用template关键字显示声明,消除歧义,避免编译失败原创 2025-04-03 09:12:11 · 320 阅读 · 0 评论 -
[C++]:跨线程捕获异常
跨线程捕获C++异常的正确实践原创 2025-03-27 11:17:22 · 162 阅读 · 0 评论 -
【C++】:使用ACL给你的文件夹加锁
使用ACL给文件夹设置访问权限原创 2025-03-19 13:39:20 · 342 阅读 · 0 评论 -
[C++]:100行代码实现高性能无锁队列
在追求极致的系统性能时,传统的锁机制往往会成为瓶颈。无锁队列()以其对线程安全的无锁化实现,成为高并发、低延迟场景下的关键基础设施。本文旨在和各位分享一种高性能的无锁队列的简单实现。原创 2025-03-05 16:02:07 · 266 阅读 · 0 评论 -
C++异常处理最佳实践:RAII与现代错误码的博弈
C++异常处理最佳实践方法总结原创 2025-03-04 17:51:32 · 328 阅读 · 0 评论 -
【C++】:奇异递归模板模式
CRTP 奇异递归模版简介原创 2025-02-20 15:11:49 · 947 阅读 · 0 评论 -
【C++】:浅析 “std::cout << std::endl”
扒开 std::cout ,看看它的真实面目原创 2025-01-07 15:55:31 · 671 阅读 · 0 评论 -
超简C++线程池(50行代码)
【代码】源码赏析:线程池。转载 2023-12-01 11:20:02 · 189 阅读 · 0 评论 -
【枚举】:复合态的处理( Flag = Flag1 | Flag2 )
处理枚举中的复合态,框架实例原创 2024-08-05 10:52:36 · 481 阅读 · 0 评论 -
【C++】:浅析自旋锁 SpinLock
自旋锁用法及特点浅析原创 2025-01-09 17:40:44 · 1211 阅读 · 0 评论 -
C main函数的编写——大型开源项目常用框架
A C program starts with a main() function, usually kept in a file named main.c./* main.c */int main(int argc, char *argv[]) {}This program compiles but doesn’t do anything.$ gcc main.c$ ./a.ou...转载 2019-06-17 20:13:03 · 660 阅读 · 0 评论 -
[log4cplus]: 快速搭建分布式日志系统
快速搭建基于log4cplus的成熟分布式日志系统,支持日志过滤、分类,支持轮替和自定义日志格式原创 2024-08-14 14:25:28 · 1056 阅读 · 0 评论 -
[log4cplus]: 快速搭建分布式日志系统(优化篇)——几行代码,实现客户端的断线重连
log4cplus日志系统客户端断线重连优化篇原创 2024-08-30 08:26:28 · 353 阅读 · 0 评论 -
C++内存布局(二)
多重继承和菱形继承下的虚函数表及虚表指针原创 2023-12-20 11:43:51 · 990 阅读 · 0 评论 -
C++内存布局(一)
C++内存布局原创 2023-12-19 09:44:13 · 551 阅读 · 0 评论 -
[C++]: 60行代码,手撸一个轻量的定时器类
TinyTimer单纯的不想引入过多的东西,例如Boost。60行代码手撸一个定时器原创 2024-12-19 16:27:24 · 203 阅读 · 0 评论 -
[C++]: 60行代码,手撸一个轻量的定时器类(第二弹)
前文我们已经实现了一个简单的定时器,包括循环定时触发,单次同步触发和异步触发模式;本篇增加定时触发和返回结果原创 2024-12-20 09:43:11 · 483 阅读 · 0 评论 -
【C++】:60行代码手撸一个轻量线程池 TinyThreadPool
60行代码实现一个线程池原创 2024-12-20 14:19:08 · 154 阅读 · 0 评论 -
Linux和windows进程同步与线程同步那些事儿(一)
windows与linux进程同步及线程同步方法归纳原创 2024-01-05 15:48:21 · 1374 阅读 · 0 评论 -
Linux和windows进程同步与线程同步那些事儿(二): windows线程同步详解示例
windows线程同步详解和代码示例原创 2024-01-09 17:31:17 · 1425 阅读 · 0 评论 -
Linux和windows进程同步与线程同步那些事儿(三): Linux线程同步详解示例
Linux线程同步原创 2024-01-10 09:34:16 · 1195 阅读 · 0 评论 -
手撸高性能日志系统(一):百万日志,秒秒落盘(小试牛刀篇)
从零开始手撸一个高性能日志的小试牛刀篇原创 2024-08-06 18:01:16 · 778 阅读 · 0 评论 -
windows/Linux c++ 获取CMD指令执行的返回结果
无论是在windows还是linux下我们都可以借助popen执行终端指令并获取到返回值。但是值得注意的是,windows下诸多的指令需要管理员的权限才能执行,这是很令人头疼的。除了上述方法外,我们先大致罗列下windows下可以执行命令行指令的方法:1、WinExec() ==》无法直接使用管理员权限,无法获取返回信息,只能判断是否执行2、ShellExecute()==》可使用管理员权限,无法获取返回信息3、CreateProcessAsUser()==》可使用管理员权限,无法获取返回原创 2019-11-14 20:14:19 · 9740 阅读 · 0 评论 -
【C++模板】:如何判断自定义类型是否实现某个函数
判断自定义类型是否实现指定的函数原创 2025-01-23 16:03:12 · 930 阅读 · 0 评论 -
cpp 解析HTML之 htmlcxx
c++解析html原创 2022-12-19 14:40:58 · 701 阅读 · 0 评论 -
关于稍微复杂的数据类型运用和分析
/// 指针数组==》数组中的元素均为指针类型///数组指针 ==〉指针,指向一个数组///指针函数 ==》函数,返回数据为指针类型///函数数指针 ==〉指针,只想一个函数的地址(用函数名表示函数地址)#include <stdio.h>#include <stdlib.h>int sub(int x,int y);//申明函数int add(int...原创 2019-01-02 23:11:49 · 210 阅读 · 0 评论 -
浅写一棵树,挂载不同类型的数据节点
在一棵树上挂载不同数据类型的节点,并支持数据的序列化与反序列化原创 2024-07-30 10:08:45 · 227 阅读 · 0 评论 -
通过宏简化C++代码编写
// 【1】 简化C++类的代码编写#define CLASS_BEGIN(x,...)\class x\{\ public:\ x(){}\ void theSameFunc(){} // 把所有类都有的函数(或其他相同部分)包含进来#define CLASS_END()\};// class DogCLASS_BEGIN(DOG)void s...原创 2019-10-11 14:38:04 · 502 阅读 · 0 评论 -
宏定义 类模板 及类模板的全特化
宏函数定义类模板及类模板的全特化原创 2022-12-22 23:31:06 · 430 阅读 · 0 评论 -
文件映射 > windows 和 Linux版
QT -= core guiTEMPLATE = libCONFIG += staticlib#CONFIG += PRECOMPILED_HEADER#Use Precompiled headers (PCH)#PRECOMPILED_HEADER = filemapping_pch_headers.hTARGET = filemappingwin32:SOURCES += filemapping_win32.cunix:SOURCES += filemap...原创 2021-06-11 17:58:33 · 452 阅读 · 0 评论 -
VIsual Studio:为同一解决方案下多个项目分别指定不同的编译器
为同一解决方案下的多个项目分别指定不同的编译平台原创 2024-07-24 09:31:55 · 696 阅读 · 0 评论 -
std::string :我是真的不想拼接字符串啊~~~那就“汉阳造”吧
简单撸一个字符串格式化输出的接口原创 2024-06-01 18:08:49 · 370 阅读 · 0 评论 -
Windows:在控制台程序中注入CTRL+C中断
windows下在控制台中添加CTRL+C中断原创 2024-05-23 16:16:02 · 809 阅读 · 0 评论 -
TCP之三次握手和四次挥手的解析
一、建立连接(1)窗口机制TCP采用的是窗口机制进行流量控制。那么什么是窗口机制呢?窗口机制实际上是一种流量控制的手段,它是一段缓冲区,在信息传递的过程中用户端和服务器端各自分配一块缓冲区来存储接收的数据,此时通讯的时候我们需要告诉对方我们的缓冲区的大小,不然对方发送数据的时候不知道你最大能接收的信息到底多大。如果发送多组数据,则接收方的确认信息包含了自己剩下的缓冲区大小。所以我们把剩下的缓冲区大...原创 2018-02-25 18:34:37 · 255 阅读 · 0 评论 -
关于函数指针和回调函数的用法
#ifndef CALLBACK_FUNC_H#define CALLBACK_FUNC_H#include <QMainWindow>typedef void (*FUNC)(int);class callback_func : public QMainWindow{ Q_OBJECTpublic: callback_func(QWidget *p...原创 2018-04-19 17:41:40 · 251 阅读 · 0 评论 -
类模版之 环形队列篇
循环队列:// GQueue.h#ifndef GQUEUE_H#define GQUEUE_H/// 自定义环形队列类型#include &amp;lt;iostream&amp;gt;using namespace std;template&amp;lt;typename T&amp;gt;class GQueue{public: GQueue(int queueCapc原创 2019-03-12 00:02:28 · 322 阅读 · 0 评论 -
闲来无事,论一个函数的N种实现方法
论“add”香豆的“add”函数有几种写法原创 2024-07-13 11:39:31 · 285 阅读 · 0 评论 -
windows上应用有且仅有单个进程的启动方式
提供几种实现应用启动时,保证仅有单个进程的方法原创 2023-02-13 10:03:39 · 656 阅读 · 0 评论 -
字符串中的单词分割
长句分割、提取单词原创 2022-12-22 23:20:27 · 445 阅读 · 0 评论 -
深度理解位运算(& | ^)的特点及使用场景
/** * ======================================== * 深度理解位运算。 & | ^ 运算特点及使用场景 * ======================================= */#include <stdio.h>/// 通过位运算交换两数#define __swap(x,y) (x^y)...原创 2019-10-09 15:21:28 · 1020 阅读 · 0 评论