这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 2018年中国C++大会详细日程公布 点我免费报名参加2018年中国C++大会 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp!
purecpp
运行期的tuple get
运行期的tuple get 背景 通过索引来访问tuple的元素可以通过std::get(tuple)实现,不过这个I必须是编译期常量,能否通过运行期的一个索引来访问tuple的元素呢? 刚好最近有这个需求,用C++17的fold expression可以比较容易实现根据运行期索引来访问tuple的元素。 实现 p...
purecpp
祝程序猿们节日快乐
又到1024了,怎么过程序猿节呢,还是写一段有趣的代码来庆祝这个节日吧。 这段代码可以保证你的程序永远只输出1024,无视数字的顺序,并且能在程序运行之前就发现你的错误,保证你永远不会犯错, 杜绝bug:) 也许只有c++才有这样的魔力了,have fun programmers。 namespace deta...
purecpp
有趣的void_t
C++17里有一个新特性void_t,它是一个别名模版,具体的定义是: template using void_t = void; void_t的模版参数是可变模版参数,所以可以能有任意个type,它主要是帮我们简化sfinae机制。比如我们想...
purecpp
perfect forward in lambda
C++14中有一个新特性叫move capture, 允许在lambda表达式中使用move方式捕捉变量,下面是move capture的一个例子。 void test() { std::vector v = { 1,2,3 }; auto l = [...
purecpp
a constant-expression counter in C++
template<int N> struct flag { friend constexpr int adl_flag (flag<N>); }; template<int N> struct writer { friend constexpr int adl_flag (flag...
purecpp
在变参展开的同时,展开另外一个变参
template <class T, class... Args> auto pairWithRest(T const& t, Args const&... args) { return std::make_tuple(std::make_pair(t, args)...); } temp...
purecpp
C++14实现c++17的make_from_tuple
template<typename C, typename T, std::size_t... I> decltype(auto) make_from_tuple_impl(T &&t, std::index_sequence<I...>) { return C{ std::ge...
purecpp
让boost.variant的visit支持lambda
先来看看boost.variant的visit是怎么用的 #include <boost/variant.hpp> #include <string> #include <iostream> using namespace boost; typedef ...
purecpp
根据value来获取tuple中的索引
根据值获取索引 #include <iostream> #include <tuple> #include <string> namespace detail { template<size_t N, typename Tuple, typename T>...
purecpp
boost序列化std::tuple
由于boost的序列化默认不支持std::tuple,所以需要通过一个扩展来实现std::tuple的序列化。 namespace boost { namespace serialization { template<typename Archive, size_t... I, t...
Absolutely

purecpp

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


这里有创新的idea,这里有最酷的modern c++代码,这里有很棒的modern c++开源项目。purecpp社区邮箱 purecpp@163.com
友情链接