在C++20中,引入了一个新的运算符,称为“三路比较操作符”或“太空船操作符”,其符号为 <=>。…
月度归档: 2024 年 1 月
空基类优化(EBO)
c++ 有些类是空的,这意味着这些类应该只包含类型成员、非虚函数或静态成员函数,只要存在非静态成员函数、虚函数…
关于 type traits
// 关于 type_traits的几个例子(主要来自《C++20高级编程》) #include <io…
SFINAE (Substitution Failure Is Not An Error)
SFINAE (Substitution Failure Is Not An Error) 是 C++ 模板元…
C++ 中的四种类型转换(cast)
static_cast 动机 在 C++ 引入之前,C 语言的转换是通过简单的类型转换实现的,这种转换既不安全…
内存管理器: ptmalloc vs tcmalloc vs jemalloc
内存管理器在程序设计中扮演着关键角色,负责分配、跟踪和释放程序运行时使用的内存。本文将对三种流行的内存管理器:…
关于双重派发技术
双重派发(Double Dispatch)是一种软件设计模式,用于在运行时解决两个对象之间的操作。它是多态的一…
引用语义多态 vs 值语义多态
值语义多态(Value Semantic Polymorphism)和引用语义多态(Reference Sem…
软件设计之 SOLID 原则
目的:合理安排类与函数、类之间的关系,使得软件达到高内聚、低耦合的目标。 单一职责原则(Single Resp…
通过 openai review MR 代码
主要流程是:调用 gitlab api 获取 MR 最新的内容,然后调用 openai 的 api接口,最后拿…
vscode 全局搜索框消失解决方法
run the Reset View Locations command from the command p…
《生活的艺术家》读书笔记
《生活的艺术家》 李小龙 79个笔记 点评 ◆ 2024/01/11 认为好看 中国人的精神生活指南 第三章 …
使用 threadsanitizer 检测常见的多线程数据竞争问题
这个GitHub页面介绍了ThreadSanitizer检测到的多种常见数据竞争类型。其中包括简单竞争、对线程…