自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(7)
  • 收藏
  • 关注

原创 std::function 的性能陷进

前言std::function 的作用很强大,他让vector等保存不同类型函数的对象: function, functor, lambda…成为了可能。但他有一个潜在的性能风险:在保存lambda/bind时,如果对象的大小 大于两个指针的大小,他就需要分配动态空间。这是大部分人写C++的人不期望看到的。function什么分配内存先看function实现的几段代码:6.1.0a-2/in...

2019-08-24 17:31:35 2456 1

原创 C++ Range:view all - 1

view::allinclude\range\v3\view\all.hpp struct all_fn : pipeable<all_fn> { private: /// If it's a view already, pass it though. template<typena...

2019-08-14 21:47:27 353

原创 C++ Range - for_each5:回答for_each2中的问题

问题解答第一个for_each函数 template<typename I, typename S, typename F, typename P = identity> auto operator()(I begin, S end, F fun, P proj = P{}) const -> CPP_ret(for_each_res...

2019-08-13 22:55:02 160

原创 C++ Range - for_each4:invoke

invoke在for_each2节中讲到for_each的调用函数invoke,在第for_each3节中,分析了一个关键宏CPP_auto_fun的实现,发现原来的代码中,Eric的例子返回值应该需要auto,给他提了patch. 这节回到invoke的分析。operator () template<class F, class T, class T1, class... Args...

2019-08-13 21:45:45 146

原创 C++ Range - for_each3: CPP_auto_fun的实现

CPP_auto_funCPP_auto_fun是通过一系列宏定义实现的。先看它的调用的几个宏定义。CPP_PP_CHECK#define CPP_PP_CHECK(...) CPP_PP_CHECK_N(__VA_ARGS__, 0,)#define CPP_PP_CHECK_N(x, n, ...) nCHECK扩展成0或者第二个参数。代码 CPP_PP_CHECK(); ...

2019-08-12 20:11:32 199

原创 C++ Range - for_each2: for_each的代码

for_each的实现分析file: include\range\v3\algorithm\for_each.hpp 66 RANGES_INLINE_VARIABLE(for_each_fn, for_each)承接上一篇的的分析,RANGES_INLINE_VARIABLE的作用是根据类型定义一个inline的变量,所以这句话的作用是定义了一个for_each是类型for_eac...

2019-08-10 22:55:43 178

原创 C++ Range - for_each1: RANGES_INLINE_VARIABLE

C++ range分析 - 1前言ranges::for_each前言追求simpler,cleaner,more expressive的C++在range表达被引入标准库之后,肯定会被大规模被使用。这里先来体验一下range的优美。这边分析的代码都来之:https://github.com/ericniebler/range-v3.ranges::for_each#include &l...

2019-08-08 22:59:07 223

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除