这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目! C++ 工作机会 2020 pure c++大会回顾 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
purecpp
右值引用的小坑
先写一个message类,里面定义了拷贝构造和移动构造函数: ``` struct Message { Message(std::strin...
purecpp
判断函数和参数是否匹配
判断函数和参数是否匹配 # 背景 在远程过程调用(RPC...
purecpp
重定向进程的标准输出流到文件
## 在进程内重定向标准输出流 ``` auto oldCoutStre...
purecpp
C++ rtti vs 宏 - 如何优雅的获取类型T的name或ID
## 1. RTTI的实现  ...
purecpp
如何正确的获取函数地址
这个问题看似很简单,因为函数地址不就是一个指针吗,获取它不是很容易吗。 ```c++ void foo(){} template void print_addr(F f...
purecpp
msgpack如何表示泛型
msgpack序列化一个泛型对象还是比较简单的: ``` template stru...
purecpp
c++在函数调用的时候实现装箱和拆箱
在java和c#中有一种操作叫装箱和拆箱,装箱就是自动将基本数据类型转换为包装器类型; 拆箱就是自动将包装器类型转换为基本数据类型。 比如下面的代码 ```c++ Integer i = 10; //装箱 int n...
purecpp
named paramters 让多参数函数调用安全可靠
在平时的开发中有时候会遇到参数特别多的函数(4个以上),调用的时候可能只需要初始化其中的一部分参数,这时候就很容易传错参数,把参数传到错误的位置,这时候如果用命名参数(named parameters)可以保证按需初始化并且不会填错参数。比如下面这个函数: ```c++ void conf(int x=0, int y=0, int z=0, int a=0, int b=0); ...
purecpp
如何限定对象只能在堆上创建?
假如我希望创建对象只允许在堆上创建,即只允许通过std::shared_ptr或者std::unique_ptr来创建对象,不允许在栈上创建对象。为什么会有这个需求呢?文末会讲到。 这个需求看起来很简单,只要把对象的构造函数私有,然后提供一个静态的创建方法不就好了吗? ```c++ struct dummy{ static std::shared_ptr c...
purecpp
使用asio实现RepeatedTimer定时器
使用过boost: :asio的同学都知道,asio中的steady_timer是一个较为简陋的组件,其可以提供一个异步等待超时的机制,并且其异步等待是一次性的。 这就意味着你想要一个和闹钟一样的定时器,每隔固定时间就滴答一次是需要做不少额外的工作。这篇文章带大家使用boost: :asio中的steady_timer 实现一个RepeatedTimer。 ...
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


友情链接