这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目! [重磅]C++20基础库--yaLanTingLibs兰亭集库开源了,帮助开发者快速构建高性能C++应用 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
purecpp
一种编译期检查是否存在重复类型的新方法
前文介绍iguana json 反序列化variant时,如果variant中存在重复类型则在编译期检查是否存在重复类型,但是之前的检查重复类型的写法不对,只检查了第一个类型,应该检查每一个类型,这是社区的一个同学发现的。 ```cpp template struct has_same_variant_type : std::false_type {}; ...
purecpp
元编程:在编译期根据成员变量地址获取其名称
最近根据iguana(https://github.com/qicosmos/iguana) 的一个需求...
purecpp
std::variant 用起来很爽,但......
试想,你使用std::variant 擦除了类型,然后将这个variant 对象序列化成json 字符串了,这挺爽的,想序列化A,B,C中任意一个类型只要赋值给variant 就行,代码保持不变,不用再写一份,这用起来确实挺爽。但是,从json 字符串反序列化到variant的时候怎么办,你怎么知道这个json 字符串倒是A还是B还是C呢? 然而,这就是社区的同学对igu...
purecpp
单例看起来很美,但......
自从C++11 保证了静态局部变量的线程安全性之后,单例在C++11 里就简单得可怕: ```cpp class Singleton { public: Singleton(const S...
purecpp
C++20 template lambda的妙用
如果要把tuple 转换成tuple, std::optional> 如果使用C++17 去实现的话需要写一个辅助函数: ```cpp template ...
purecpp
利用ADL 规则扩展现有的库
ADL(argument-dependent lookup):实参依赖查找,是一组对函数调用表达式(包括对重载运算符的隐式函数调用)中的无限定(unqualified)的函数名进行查找的规则。 ```cpp NS::foo(a); //qualified foo(a); //unqualified ``` 如果加了域的限定就是qualified,比如加了命名空间或者类名去调用foo...
purecpp
模板不仅仅是模板,它还能解耦
在很多人眼里的模板就是用于泛型编程的场景,甚至有些讨厌它,可能很多人还不知道它还有另外一个妙用--解耦。 看这样一个场景: ```c++ class connection { public: void send() { //do business std::c...
purecpp
如何在main之前实现自动注册
一个常见的场景是在main之前把一些函数注册到map里,这些函数和某些key相关联。 ```c++ std::map> g_ma...
purecpp
巧用charconv
http 中经常需要将int 转换成16 进制的hex string,一种很常见的做法是利用stringstream将int 按照16 进制std::hex 输入到流里。 ```c++ int val = 42; std::ostringstream ss; ss << ...
purecpp
C++20 perfect caputre in lambda
C++11 里面就引入了完美转发的概念,通过完美转发,我们可以按照参数的实际类型转发参数。 ```c++ template void process(T &t) { std::cout << "lvaue\n"...
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


友情链接