码迷,mamicode.com
首页 > 编程语言 > 详细

《C++设计新思维》Command设计模式读后感

时间:2015-02-11 12:47:02      阅读:256      评论:0      收藏:0      [点我收藏+]

标签:

原文内容提领:

本书第5章标题为泛化仿函数,我认为本章真正讲述的内容可以总结出一句话!

如何利用C++老标准实现C++11新标准类似std::function提供的功能。

std::function简介:

分析std::function源码可知,std::function大量利用新标准的特性,变长参数模板,完美转发等。

C++中可调用体:

C++中的可调用体,现在可以补充一下

1.C-like function

2.C-like pointer to function

3.reference to function

4.function object

5.pointer to member function

6.ctor

7.C++11 lambda

文章中的Functor:

对于上述所列的任何一项,你可以在右侧添加一对圆括号(),并在里头放入一组合适的参数,用以执行某个处理动作。

之后,讲述的Functor即是对以1-6可调用形式的封装。Functor可以传递,对于对于不同的调用体,但拥有相同的调用形式,提供统一的类型。

 

真正的读后感:

作者在书中105页感叹,“数量可变的template参数”根本不存在。(C++11变长参数模板)

虽说巧妇难为无米之炊,但是真正的能工巧匠并面对生产工具的限制也不会妥协,本书作者即是如此。

书中122页,讨论转发函数的成本,在尾注中提到“引用折叠”,C++之父 Bjarne Stroustrup 提交报告,允许使用reference to reference。

(C++11 引用折叠,完美转发std::forward)

什么是精通一门语言?

1.认识到语言的限制,以及如何利用编程技艺消除这种限制。

2.能够预知,断言,甚至影响语言未来的发展。

 

取其上者得乎其中,诸位我们的目标是精通一门语言。

《C++设计新思维》Command设计模式读后感

标签:

原文地址:http://blog.csdn.net/zjq2008wd/article/details/43732273

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!