分类: 编程
infinity: 一个 AI Native 的数据库
github 链接 关于 infinity Infinity is a cutting-edge AI-nat…
C++20特性之三路比较操作符
在C++20中,引入了一个新的运算符,称为“三路比较操作符”或“太空船操作符”,其符号为 <=>。…
空基类优化(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 语言的转换是通过简单的类型转换实现的,这种转换既不安全…
关于双重派发技术
双重派发(Double Dispatch)是一种软件设计模式,用于在运行时解决两个对象之间的操作。它是多态的一…
引用语义多态 vs 值语义多态
值语义多态(Value Semantic Polymorphism)和引用语义多态(Reference Sem…
软件设计之 SOLID 原则
目的:合理安排类与函数、类之间的关系,使得软件达到高内聚、低耦合的目标。 单一职责原则(Single Resp…
使用 threadsanitizer 检测常见的多线程数据竞争问题
这个GitHub页面介绍了ThreadSanitizer检测到的多种常见数据竞争类型。其中包括简单竞争、对线程…
C++ 资源
链接 https://www.reddit.com/r/cpp/ https://isocpp.org/ ht…
《C++ API设计》
//TODO
几个常用的vscode插件
C/C++ C/C++ IntelliSense, debugging, and code browsing….
怎样避免死锁?
避免嵌套锁 一个线程以获得一个锁时,别再去获取第二个。当需要获取多个锁时,使用一个std::lock来对获取锁…