万本电子书0元读

万本电子书0元读

顶部广告

深入应用C++11:代码优化与工程级应用电子书 租阅

资深C++专家、C++11布道师、金山软件资深工程师撰写 深度剖析C++11中最常用新特性,从程序简洁性、性能、代码质量、内存泄露、多线程等多方面给出了代码优化的方法和建议 深入讲解了C++11在线程池开发、流行框架和库的开发、库的封装等各种工程级项目中的应用,包含大量实现源码并开源,可直接使用

售       价:¥

纸质售价:¥62.40购买纸书

556人正在读 | 0人评论 6.2

作       者:祁宇

出  版  社:机械工业出版社

出版时间:2015-05-01

字       数:15.8万

所属分类: 科技 > 计算机/网络 > 程序设计

温馨提示:此类商品不支持退换货,不支持下载打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
这是C++11领域*实用性和工程实践价值的著作。作者是金山软件的资深工程师,有多年一线开发经验,致力于C++11的应用和推广。C++11新特性众多,作者根据自己几年来的研究和实践,甄选出了其中最常用和实用的部分新特性,并结合代码实例讲解了如何通过这些新特性来优化既有的C++代码,这部分内容不仅能让你迅速掌握C++11,而且能充分让你领略C++11的魅力。更为重要的,作者还结合自己的企业实践和开源项目,讲解了如何利用C++11开发各种常用的工程级项目,并且所有项目的代码均开源,具有非常高的使用价值。 全书共16章,分为两个部分 第一部分 C++11改进我们的程序 使用类型推导、lambda、tupe元组等新特性让程序变得更简洁和更现代; 使用右值引用、move语义、emplace_back等新特性改进程序的性能; 使用可变参数模板和类型萃取等新特性消除重复和提高代码质量; 使用智能指针相关新特性解决内存泄露问题; 使用线程、互斥量、异步操作等新特性让多线程开发更简单; …… 第二部分 C++11工程实践 用C++11改进各种常用的设计模式,如单例模式、观察者模式、访问者模式,等等; 用C++11开发一个半同步半异步线程池、消息总线库和通信程序; 用C++11开发轻量级AOP库、轻量级IoC容器、轻量级的并行task库 用C++11封装SQLite库和开发linq to objects库; 这是C++11领域*实用性和工程实践价值的著作。作者是金山软件的资深工程师,有多年一线发经验,致力于C++11的应用和推广。C++11新特性众多,作者根据自己几年来的研究和实践,甄选出了其中最常用和实用的部分新特性,并结合代码实例讲解了如何通过这些新特性来优化既有的C++代码,这部分内容不仅能让你迅速掌握C++11,而且能充分让你领略C++11的魅力。更为重要的,作者还结合自己的企业实践和源项目,讲解了如何利用C++11发各种常用的工程级项目,并且所有项目的代码均源,具有非常高的使用价值。 全书共16章,分为两个部分 第一部分 C++11改我们的程序 使用类型推导、lambda、tupe元组等新特性让程序变得更简洁和更现代; 使用右值引用、move语义、emplace_back等新特性改程序的性能; 使用可变参数模板和类型萃取等新特性消除重复和提高代码质量; 使用智能指针相关新特性解决内存泄露问题; 使用线程、互斥量、异步操作等新特性让多线程发更简单; …… 第二部分 C++11工程实践 用C++11改各种常用的设计模式,如单例模式、观察者模式、访问者模式,等等; 用C++11发一个半同步半异步线程池、消息总线库和通信程序; 用C++11发轻量级AOP库、轻量级IoC容器、轻量级的并行task库 用C++11封装SQLite库和发linq to objects库;
【推荐语】
资深C++专家、C++11布道师、金山软件资深工程师撰写 深度剖析C++11中*常用新特性,从程序简洁性、性能、代码质量、内存泄露、多线程等多方面给出了代码优化的方法和建议 深讲解了C++11在线程池发、流行框架和库的发、库的封装等各种工程级项目中的应用,包含大量实现源码并源,可直使用
【作者】
祁 宇 资深C++技术专家,致力于C++11的应用、研究和推广。金山软件WPS资深工程师,负责Android服务端发。精通OOP、OOD、设计模式和重构,主要研究方向为架构设计和业务重构,有丰富的发和研发管理经验。爱好C++,爱好源,乐于研究和分享技术,源了多个项目,在《程序员》杂志发表多篇技术文章。 2013年被评为珠海市优秀青年人才。
目录展开

前言

第一篇 C++11改进我们的程序

第1章 使用C++11让程序更简洁、更现代

1.1 类型推导

1.2 模板的细节改进

1.3 列表初始化

1.4 基于范围的for循环

1.5 std::function和bind绑定器

1.6 lambda表达式

1.7 tupe元组

1.8 总结

第2章 使用C++11改进程序性能

2.1 右值引用

2.2 move语义

2.3 forward和完美转发

2.4 emplace_back减少内存拷贝和移动

2.5 unordered container无序容器

2.6 总结

第3章 使用C++11消除重复,提高代码质量

3.1 type_traits——类型萃取

3.2 可变参数模板

3.3 可变参数模版和type_taits的综合应用

3.4 总结

第4章 使用C++11解决内存泄露的问题

4.1 shared_ptr共享的智能指针

4.2 unique_ptr独占的智能指针

4.3 weak_ptr弱引用的智能指针

4.4 通过智能指针管理第三方库分配的内存

4.5 总结

第5章 使用C++11让多线程开发变得简单

5.1 线程

5.2 互斥量

5.3 条件变量

5.4 原子变量

5.5 call_once/once_flag的使用

5.6 异步操作

5.7 线程异步操作函数async

5.8 总结

第6章 使用C++11中便利的工具

6.1 处理日期和时间的chrono库

6.2 数值类型和字符串的相互转换

6.3 宽窄字符转换

6.4 总结

第7章 C++11的其他特性

7.1 委托构造函数和继承构造函数

7.2 原始的字面量

7.3 final和override关键字

7.4 内存对齐

7.5 C++11新增的便利算法

7.6 总结

第二篇 Part 2 C++11工程级应用

第8章 使用C++11改进我们的模式

8.1 改进单例模式

8.2 改进观察者模式

8.3 改进访问者模式

8.4 改进命令模式

8.5 改进对象池模式

8.6 总结

第9章 使用C++11开发一个半同步半异步线程池

9.1 半同步半异步线程池介绍

9.2 线程池实现的关键技术分析

9.3 同步队列

9.4 线程池

9.5 应用实例

9.6 总结

第10章 使用C++11开发一个轻量级的AOP库

10.1 AOP介绍

10.2 AOP的简单实现

10.3 轻量级的AOP框架的实现

10.4 总结

第11章 使用C++11开发一个轻量级的IoC容器

11.1 IoC容器是什么

11.2 IoC创建对象

11.3 类型擦除的常用方法

11.4 通过Any和闭包来擦除类型

11.5 创建依赖的对象

11.6 完整的IoC容器

11.7 总结

第12章 使用C++11开发一个对象的消息总线库

12.1 消息总线介绍

12.2 消息总线关键技术

12.3 完整的消息总线

12.4 应用实例

12.5 总结

第13章 使用C++11封装sqIite库

13.1 sqlite基本用法介绍

13.2 rapidjson基本用法介绍

13.3 封装sqlite的SmartDB

13.4 应用实例

13.5 总结

第14章 使用C++11开发一个Iinq to objects库

14.1 LINQ介绍

14.2 C++中的LINQ

14.3 LINQ实现的关键技术

14.4 linq to objects的具体实现

14.5 linq to objects的应用实例

14.6 总结

第15章 使用C++11开发一个轻量级的并行task库

15.1 TBB的基本用法

15.2 PPL的基本用法

15.3 TBB和PPL的选择

15.4 轻量级的并行库TaskCpp的需求

15.5 TaskCpp的任务

15.6 TaskCpp任务的组合

15.7 TaskCpp并行算法

15.8 总结

第16章 使用C++11开发一个简单的通信程序

16.1 反应器和主动器模式介绍

16.2 asio中的Proactor

16.3 asio的基本用法

16.4 C++11结合asio实现一个简单的服务端程序

16.5 C++11结合asio实现一个简单的客户端程序

16.6 TCP粘包问题的解决

16.7 总结

参考文献

累计评论(0条) 4个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部