这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目! [重磅]C++20基础库--yaLanTingLibs兰亭集库开源了,帮助开发者快速构建高性能C++应用 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
purecpp
一个真正意义上的序列化引擎
一个真正意义上的序列化引擎 目前C++的序列化库都是每种格式写一个序列...
purecpp
又到长空雁过时
``...
purecpp
C++20 Modules 在阿里云的大规模应用
作者:许传奇 # 简介 ...
purecpp
最快的多线程计数器有多快
先看看完全无锁的整数每秒的qps是多少,以它为基准。 再分别比较以下场景: 多线程加锁的计数器qps 多线程原子变量的计数器...
purecpp
C++20 modules 线下workshop报名开启
聚焦C++20 modules! 告...
purecpp
如何检测单例是否已经析构
单例本质是一个静态变量,它只会在程序退出的时候才会析构,如果有这样一个场景,在程序退出的时候调用了单例,但这时候单例已经析构了,调用就会出错。该如何解决这个问题呢? 一个巧妙的方法是通过一个全局变量去检测,代码如下: ```cpp inline std::atomic g_has_destruct = false; class Singleton { public:...
purecpp
yalantinglibs.reflection 的实现原理
“要有光!” 于是就有了光—...
purecpp
慎用静态类
C++静态类是指类成员都是静态的类,很多时候为了将全局方法封装起来才使用静态类,一般情况下还挺好用,有点单例的味道。但是如果静态类中有了静态成员变量的时候,事情就会变得危险。 最近yalantinglibs的metric 库就遇到一个类似的问题,有一个静态类metric_manager_t用来管理所有的metric对象,代码简化之后类似于这样: ```cpp class metric_...
purecpp
C++20 非常好用的编译期反射库,划重点【没有宏,没有侵入式】
以前的编译期反射大多需要通过写一个辅助宏或者额外的代码去实现,比如iguana就是如此,iguana中需要这样定义一个结构体才能实现编译期反射: ```cpp struct simple { int color; int id; std::string str; int age; }; REFLECTION(simple, color, id,...
purecpp
反其道而行之,从struct 生成pb proto文件
protobuf会根据proto文件生成c++对象及其序列化/反序列化方法,而iguana的struct_pb 则是以结构体为核心,通过编译期反射去生成序列化/反序列化代码。最近社区有个朋友提出能不能将结构体输出为proto文件呢,这样就能给其它语言用了,这是一个很好的建议,实现起来也比较简单。 protobuf是从proto文件到c++对象,而struct_pb则是反其道而行之,通过C+...
Absolutely

purecpp

一个很酷的modern c++开源社区


[社区开源项目列表,点击前往]


purecpp社区自2015年创办以来,以“Newer is Better”为理念,相信新技术可以改变世界,一直致力于现代C++研究、应用和技术创新,期望通过现代C++的技术创新来提高企业生产力和效率。


社区坚持只发表原创技术文章,已经累计发表了一千多篇原创C++技术文章;


组织了十几场的C++沙龙和C++大会,有力地促进了国内外C++开发者之间的技术交流;


开源了十几个现代C++项目,被近百家公司所使用,有力地推动了现代C++在企业中的应用。


期待更多的C++爱好者能参与到社区C++社区的建设中来,一起为现代C++开源项目添砖加瓦,一起完善C++基础设施和生态圈。


微信公众号:purecpp, 社区邮箱: purecpp@163.com


友情链接