C++函数式编程
正版新书 新华官方库房直发 可开电子发票
¥
62.37
6.3折
¥
99
全新
库存4件
作者(塞尔)伊凡·库奇(Ivan Cukic)
出版社机械工业出版社
ISBN9787111641988
出版时间2020-01
版次1
装帧平装
开本16开
纸张胶版纸
页数262页
字数427千字
定价99元
货号SC:9787111641988
上书时间2024-09-17
商品详情
- 品相描述:全新
-
全新正版 提供发票
- 商品描述
-
作者简介:
Ivan Čukić 在贝尔格莱德数学系教授现代C++技术和函数式编程。他从1998 年开始使用C++。在以前和攻读博士学位时研究函数式编程,他应用函数式编程技术编写了全球数亿人使用的真实项目。Ivan是KDE 的核心开发人员,KDE 是*大的开源C++项目。
主编推荐:
《C++函数式编程》不是一本教授C++编程的书,是讲解如何将函数式编程适用于C++。《C++函数式编程》线性编排,每一章的内容都建立在前一章的基础上,循序渐进。《C++函数式编程》通过丰富的案例和图解,详细阐述了C++面向函数式编程,每个小知识点跟随实战练习,讲解透彻,且免费提供所有源码。
精彩内容:
编程是一门罕见的学科,通过它可以从无到有地创建一些东西。编程可以根据自己的意志创建想要的东西,专享需要的就是一台电脑。我在上学的时候,大部分的编程课集中于命令式编程——首先是面向过程的C 语言,然后是面向对象编程的C++和Java。在我的大学里情况也没有太大的改变——主要的编程思想还是面向对象的编程(OOP)。在这段时间,几乎使我认为所有的语言在概念上都是相同的——只不过语法不同,在学习了某种语言的基础之后,如循环和分支,通过很小的调整就可以编写其他程序。第一次接触函数式编程语言是在大学中,在课堂上学习了Lisp 语言。我的直觉反应是使用Lisp 来模拟if-then-else 语句和for 循环,这样可以真正使它变得有用。不是使我的认识适合语言,却决定使语言适合我的想法,以便用C 的方式编程。我只想说那时候,没有看到函数式编程的任何意义——Lisp 可以做的,用C 语言就可以实现,而且更加简单。经过相当长的时间我才开始研究函数式编程。这么做的根本原因是,在某些项目中使用的语言发展太慢了。语言中添加了for-each 循环,就像什么了不起的东西:只需要下载新的编译器,就可以使编程生涯更轻松了。这让我陷入深思。为了得到诸如for-each 循环的新语言结构,必须等待语言的新版本和新的编译器。但在Lisp 中,却可以使用一个简单的函数实现for 循环相同的功能,根本不需要升级编译器。这正是我学习函数式编程的原因:无须改变编译器就可以扩展编程语言的能力。编程思想仍然是“面向对象”的,但却学着用函数式风格的结构简化面向对象代码的工作。我开始投入大量的时间研究函数式编程语言,如Haskell、Scala 和Erlang。我惊奇地发现,使面向对象程序员头痛不已的问题,换个角度——以函数式风格思考——就迎刃而解了。我的工作主要使用C++,所以必须寻找一种方式用C++进行函数式编程。事实证
...
内容简介:
《C++函数式编程》介绍了C++的面向函数式编程。面向函数式编程是继面向对象编程之后又一编程范式,解决了命令式(过程式)编程与面向对象编程中出现的问题,是一种极具潜力的编程方式,值得研究学习。主要讲解了函数对象、纯洁性(Purity)、惰性求值、range、函数式数据结构、代数类型及模式匹配、monad、模板元编程、并发的函数式设计,以及测试与调试等有关内容,还介绍了使用原有函数创建新函数的知识。
《C++函数式编程》不仅可以作为C++程序员、编程爱好者以及软件工程师学习函数式编程的参考书,还可以作为高等院校C++编程语言的高级教材。
目录:
译者序
致谢
前言
关于本书
关于作者
第1章函数式编程简介
1.1什么是函数式编程?
1.1.1与面向对象编程的关系
1.1.2命令式与声明式编程的比较
1.2纯函数(Pure functions)
1.2.1避免可变状态
1.3以函数方式思考问题
1.4函数式编程的优点
1.4.1代码简洁易读
1.4.2并发和同步
1.4.3持续优化
1.5C++作为函数式编程语言的进化
1.6将会学到什么
总结
第2章函数式编程之旅
2.1函数使用函数?
2.2STL实例
2.2.1求平均值
2.2.2折叠(Folding)
2.2.3删除字符串空白符
2.2.4基于谓词分割集合
2.2.5过滤(Filtering)和转换(Transforming)
2.3STL算法的可组合性
2.4编写自己的高阶函数
2.4.1接收函数作为参数
2.4.2用循环实现
2.4.3递归(Recursion)和尾调用优化(Tail-call optimization)
2.4.4使用折叠实现
总结
第3章函数对象
3.1函数和函数对象
3.1.1自动推断返回值类型
3.1.2函数指针
3.1.3调用操作符重载
3.1.4创建通用函数对象
3.2lambda和闭包(Closure)
3.2.1lambda语法
3.2.2lambda详解
3.2.3在lambda中创建任意成员变量
3.2.4通用lambda表达式
3.3编写比lambda更简洁的函数对象
3.3.1STL中的操作符函数对象
3.3.2其他库中的操作符函数对象
3.4用std::function包装函数对象
总结
第4章以旧函数创建新函数
...
— 没有更多了 —
全新正版 提供发票
以下为对购买帮助不大的评价