这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目! [重磅]C++20基础库--yaLanTingLibs兰亭集库开源了,帮助开发者快速构建高性能C++应用 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
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+...
purecpp
现代C++ 跨平台统一的文件库--通过协程读写文件
C++ 中文件操作这一块比较混乱,你可以使用std::fstream 去读写文件,也可以使用fread/fwrite 去读写文件,linux平台上还可以使用pread/pwrite 去读写文件。除此之外,linux平台还可以通过io_uring 去读写文件,windows平台则通过iocp去读写文件。这些文件操作的api各不相同,有时候不知道选择哪个接口更好,如果有一个统一的文件操作接口那就好了...
purecpp
yalantinglibs 的系统监控功能
系统监控功能是应用程序很需要的一项功能,应用程序运行起来之后,内存占用如何,线程数多少,句柄数用了多少,cpu占用如何等信息是需要监控并能查询的,如果是网络应用可能还想知道请求的latency如何,请求总数和请求失败总数等信息。这些就是系统监控的功能。 监控功能的核心就是各种指标(metric),按照prometheus的标准,指标主要分为四类: - couter:只能增加计数的指标...
purecpp
struct_pb 和 protobuf 性能比较
# struct_pb 介绍 [...
purecpp
iguana的动态反射
[iguana](https://github.com/qicosmos/iguana)是一个基于编译期反射的序列化库,支持从结构体序列化到不同的数据格式。 ![img](static/fcfbcb19a4d1408fa5ce188b7b3019fe.png) iguana可以...
purecpp
性能更好的protobuf--struct_pb
最近iguana(https://github.com/qicosmos/iguana) 增加了C++17 版本的序列化/反序列化protobuf 格式的功能,用法和json、xml类似,都是两行代码完成序列化反序列化。更重要的是性能比google的protobuf 更好,在benchmark部分会给出测试数据。 struct_pb 让我们以纯C++的方式去定义并序列化/反序列化proto...
purecpp
cinatra中如何使用metric来监控系统各种指标
# metric 介绍 m...
purecpp
iguana 一个很酷的新feature--部分解析json
如果一个很大的json字符串,然后用户只希望解析其中的一个字段,一般情况下需要遍历所有字符串全量解析所有字段,这样就效率很低了。如果能部分解析json字段就可以避免全量解析了从而能获得更好的性能。 iguana(https://github.com/qicosmos/iguana) 已经增加了支持部分解析json的feature,比如这样一个json对象: ```cpp struct ...
purecpp
C++ 协程select 来了,像go,kotlin那样
select 表达式可以同时等待多个协程,并选择最先执行的协程。以kotlin的一个例子来看select 的用法: ```kotlin suspend fun selectFizzBuzz(fizz: ReceiveChannel, buz...
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


友情链接