这里是modern c++开源社区,致力于现代C++促进企业生产力与效率 purecpp社区网站由纯C++打造,这就是真正意义上的purecpp! 这里是社区创始人的github地址 点我前往
purecpp
如何实现函数参数过滤代码点评
前面提出了一个参数过滤的需求,社区的一些朋友给出了实现,在这里做一下点评。 需求 过滤传入的函数参数。假设传入了int, bool, double, bool, structA这几个参数,现在我需要把其中的bool参数去掉,只保留非bool的参数,因此输入的参数经过过滤之后就变成一个tuple<int, double, structA>了。 ...
purecpp
C++17中的deduction guide
deduction guide可以根据参数自动推导出对应的类型,这可以让我们的代码变得更加简洁,看下面的写法: std::pair p(1, 1.5); //推导为std::pair std::tuple t(1, 2, 2.5); //推导为std::...
purecpp
C++17中的string_view
基本用法 C++17中的string_view是一个char数据的视图或者说引用,它并不拥有该数据,是为了避免拷贝,因此使用string_view可以用来做性能优化。你应该用string_view来代替const char和const string了。string_view的方法和string类似,用法很简单: pre class="lang...
purecpp
C++17中的structured bindings
基本用法 structured bindings让我们能通过tuple,std::pair或是没有静态数据成员的结构体来初始化变量。在C++17之前如果要解包一个结构体时,我们需要借助tie,像这样: auto tp = std::make_tuple(1, 2.5, 'c');...
purecpp
C++17中的constexpr
constexpr if constexpr标记一个表达式或一个函数的返回结果是编译期常量,它保证函数会在编译期执行。相比模版来说,实现编译期循环或递归,C++17中的constexpr if会让代码变得更简洁易懂。比如实现一个编译期整数加法: template ...
purecpp
C++17中的Fold Expression
C++11中增加了一个新特性可变模版参数(variadic template),它可以接受任意个模版参数在参数包中,参数包是三个点...,它不能直接展开,需要通过一些特殊的方法才能展开,导致在使用的时候有点难度。现在C++17解决了这个问题,让参数包的展开变得容易了,Fold expression就是方便展开参数包的。 fold expression的语义 p...
Absolutely

purecpp

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


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