您好,欢迎来到聚文网。
登录
免费注册
网站首页
|
搜索
热搜:
磁力片
|
漫画
|
购物车
0
我的订单
商品分类
首页
幼儿
文学
社科
教辅
生活
销量榜
C++函数式编程
字数: 427000
装帧: 平装
出版社: 机械工业出版社
作者: (塞尔)伊凡·库奇(Ivan Cukic)
出版日期: 2020-01-01
商品条码: 9787111641988
版次: 1
开本: 16开
页数: 262
出版年份: 2020
定价:
¥99
销售价:
登录后查看价格
¥{{selectedSku?.salePrice}}
库存:
{{selectedSku?.stock}}
库存充足
{{item.title}}:
{{its.name}}
加入购物车
立即购买
加入书单
收藏
精选
¥5.83
世界图书名著昆虫记绿野仙踪木偶奇遇记儿童书籍彩图注音版
¥5.39
正版世界名著文学小说名家名译中学生课外阅读书籍图书批发 70册
¥8.58
简笔画10000例加厚版2-6岁幼儿童涂色本涂鸦本绘画本填色书正版
¥5.83
世界文学名著全49册中小学生青少年课外书籍文学小说批发正版
¥4.95
全优冲刺100分测试卷一二三四五六年级上下册语文数学英语模拟卷
¥8.69
父与子彩图注音完整版小学生图书批发儿童课外阅读书籍正版1册
¥24.2
好玩的洞洞拉拉书0-3岁宝宝早教益智游戏书机关立体翻翻书4册
¥7.15
幼儿认字识字大王3000字幼儿园中班大班学前班宝宝早教启蒙书
¥11.55
用思维导图读懂儿童心理学培养情绪管理与性格培养故事指导书
¥19.8
少年读漫画鬼谷子全6册在漫画中学国学小学生课外阅读书籍正版
¥64
科学真好玩
¥12.7
一年级下4册·读读童谣和儿歌
¥38.4
原生态新生代(传统木版年画的当代传承国际研讨会论文集)
¥11.14
法国经典中篇小说
¥11.32
上海的狐步舞--穆时英(中国现代文学馆馆藏初版本经典)
¥21.56
猫的摇篮(精)
¥30.72
幼儿园特色课程实施方案/幼儿园生命成长启蒙教育课程丛书
¥24.94
旧时风物(精)
¥12.04
三希堂三帖/墨林珍赏
¥6.88
寒山子庞居士诗帖/墨林珍赏
¥6.88
苕溪帖/墨林珍赏
¥6.88
楷书王维诗卷/墨林珍赏
¥9.46
兰亭序/墨林珍赏
¥7.74
祭侄文稿/墨林珍赏
¥7.74
蜀素帖/墨林珍赏
¥12.04
真草千字文/墨林珍赏
¥114.4
进宴仪轨(精)/中国古代舞乐域外图书
¥24.94
舞蹈音乐的基础理论与应用
编辑推荐
《C++函数式编程》不是一本教授C++编程的书,是讲解如何将函数式编程适用于C++。《C++函数式编程》线性编排,每一章的内容都建立在前一章的基础上,循序渐进。《C++函数式编程》通过丰富的案例和图解,详细阐述了C++面向函数式编程,每个小知识点跟随实战练习,讲解透彻,且免费提供所有源码。
内容简介
《C++函数式编程》介绍了C++的面向函数式编程。面向函数式编程是继面向对象编程之后又一编程范式,解决了命令式(过程式)编程与面向对象编程中出现的问题,是一种极具潜力的编程方式,值得研究学习。主要讲解了函数对象、纯洁性(Purity)、惰性求值、range、函数式数据结构、代数类型及模式匹配、monad、模板元编程、并发的函数式设计,以及测试与调试等有关内容,还介绍了使用原有函数创建新函数的知识。
《C++函数式编程》不仅可以作为C++程序员、编程爱好者以及软件工程师学习函数式编程的参考书,还可以作为高等院校C++编程语言的高级教材。
作者简介
Ivan Čukić 在贝尔格莱德数学系教授现代C++技术和函数式编程。他从1998 年开始使用C++。在以前和攻读博士学位时研究函数式编程,他应用函数式编程技术编写了全球数亿人使用的真实项目。Ivan是KDE 的核心开发人员,KDE 是*大的开源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章以旧函数创建新函数 4.1偏函数应用 4.1.1把二元函数转换成一元函数的通用方法 4.1.2使用std::bind绑定值到特定的函数参数 4.1.3二元函数参数的反转 4.1.4对多参数函数使用std::bind 4.1.5使用lambda替代std::bind 4.2柯里化(Currying):看待函数不同的方式 4.2.1创建柯里化函数的简单方法 4.2.2数据库访问柯里化 4.2.3柯里化与偏函数应用 4.3函数组合 4.4函数提升(复习) 4.4.1键值对列表反转 总结 第5章纯洁性:避免可变状态 5.1可变状态带来的问题 5.2纯函数和引用透明 5.3无副作用编程 5.4并发环境中的可变状态与不可变状态 5.5const的重要性 5.5.1逻辑const与内部const 5.5.2对于临时值优化成员函数 5.5.3const的缺陷 总结 第6章惰性求值 6.1C++的惰性 6.2惰性作为一种优化技术 6.2.1集合惰性排序 6.2.2用户接口中的列表视图 6.2.3通过缓存函数结果修剪递归树 6.2.4动态编程作为惰性形式 6.3通用记忆化(Generalized memoization) 6.4表达式模板与惰性字符串拼接 6.4.1纯洁性与表达式模板 总结 第7章range 7.1range简介 7.2创建数据的只读视图 7.2.1range的filter函数 7.2.2range的transform函数 7.2.3range惰性求值 7.3修改range中的值 7.4定界rang和无限range 7.4.1用定界range优化用于输入的range 7.4.2用哨兵创建无限range 7.5用range统计词频 总结 第8章函数式数据结构 8.1不可变链表(Immutable linked lists) 8.1.1在表头添加和删除元素 8.1.2在链表末尾添加和删除元素 8.1.3在链表中间添加和删除元素 8.1.4内存管理 8.2不可变类向量结构 8.2.1位图向量树中的元素查找 8.2.2向位图向量树追加元素 8.2.3位图向量树的修改 8.2.4在位图向量树的末尾删除元素 8.2.5其他操作和位图向量树的整体效率 总结 第9章代数数据类型及模式匹配 9.1代数数据类型 9.1.1通过继承实现和类型 9.1.2通过union和std::variant实现和类型 9.1.3特定状态的实现 9.1.4特殊的和类型:Optional 9.1.5和类型用于错误处理 9.2使用代数数据类型进行域建模 9.2.1原始的方法及其缺点 9.2.2更复杂的方法:自上而下的设计 9.3使用模式匹配更好地处理代数数据类型 9.4Mach7的强大匹配功能 总结 第10章monad 10.1仿函数并不是以前的仿函数 10.1.1处理可选值 10.2monad:更强大的仿函数 10.3基本的例子 10.4range与monad的嵌套使用 10.5错误处理 10.5.1std::optional作为monad 10.5.2expected作为monad 10.5.3trymonad 10.6monad状态处理 10.7并发和延续monad 10.7.1future作为monad 10.7.2future的实现 10.8monad组合 总结 第11章模板元编程 11.1编译时操作类型 11.1.1推断类型调试 11.1.2编译时的模式匹配 11.1.3提供类型的元信息 11.2编译时检查类型的属性 11.3构造科里化函数 11.3.1调用所有可调用的 11.4DSL构建块 总结 第12章并发系统的函数式设计 12.1Actor模型:组件思想 12.2创建简单的消息源 12.3将反应流建模为monad 12.3.1创建宿(Sink)接收消息 12.3.2转换反应流 12.3.3创建给定值的流 12.3.4连接流 12.4过滤反应流 12.5反应流的错误处理 12.6响应客户端 12.7创建状态可修改的Actor 12.8用Actor编写分布式系统 总结 第13章测试与调试 13.1程序编译正确吗? 13.2单元测试与纯函数 13.3自动产生测试 13.3.1产生测试用例 13.3.2基于规则的测试 13.3.3比较测试 13.4测试基于monad的并发系统 总结
×
Close
添加到书单
加载中...
点此新建书单
×
Close
新建书单
标题:
简介:
蜀ICP备2024047804号
Copyright 版权所有 © jvwen.com 聚文网