华章原创精品·深入应用C++11:代码优化与工程级应用
编辑推荐
资深C++专家、C++11布道师、金山软件资深工程师撰写
深度剖析C++11中常用新特性,从程序简洁性、性能、代码质量、内存泄露、多线程等多方面给出了代码优化的方法和建议
深入讲解了C++11在线程池开发、流行框架和库的开发、库的封装等各种工程级项目中的应用,包含大量实现源码并开源,可直接使用
在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中排名第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型推断中解脱出来,智能指针让我们再也不用担心内存泄漏的问题,右值引用避免了无谓的临时对象拷贝,type_traits和可以变模板参数让我们可以更方便地写更加泛化的代码……这些还只是新增的一百多项新特性中的一小部分而已。C++14的标准在2014年的时候已经确定,而C++17标准正在制定当中,可以预见的未来,C++的发展会越来越好,C++的应用会越来越广泛,也会更受广大开发者地欢迎。
本书的内容来源于C++11项目实践,写作此书的目的是为了和广大读者分享学习和应用C++11的经验和乐趣。本书分为两篇,第一篇主要是介绍一些常用的C++11特性,介绍这些特性是如何优化C++11以前的一些代码的,读者可以从中更深刻地领悟这些新特性;第二篇主要是一些实际开发中的典型应用案例,通过这些案例读者可以看到C++11的这些新特性是如何综合运用于实际开发中的,具有实践的指导作用。相信本书会成为读者学习和应用C++11的良师益友。
内容简介
资深C++专家、C++11布道师、金山软件资深工程师撰写
深度剖析C++11中常用新特性,从程序简洁性、性能、代码质量、内存泄露、多线程等多方面给出了代码优化的方法和建议
深入讲解了C++11在线程池开发、流行框架和库的开发、库的封装等各种工程级项目中的应用,包含大量实现源码并开源,可直接使用
在StackOverflow的最近一次世界性调查中,C++11在所有的编程语言中第二, C++11受到程序员的追捧是毫不意外的,因为它就像C++之父Bjarne Stroustrup说的:它看起来就像一门新的语言。C++11新增加了相当多的现代编程语言的特性,相比C++98/03,它在生产力、安全性、性能和易用性上都有了大幅提高。比如auto和decltype让我们从书写冗长的类型和繁琐的类型推断中解脱出来,智能指针让我们再也不用担心内存泄漏的问题,右值引用避免了无谓的临时对象拷贝,type_traits和可以变模板参数让我们可以更方便地写更加泛化的代码……这些还只是新增的一百多项新特性中的一小部分而已。C++14的标准在2014年的时候已经确定,而C++17标准正在制定当中,可以预见的未来,C++的发展会越来越好,C++的应用会越来越广泛,也会更受广大开发者地欢迎。
本书的内容来源于C++11项目实践,写作此书的目的是为了和广大读者分享学习和应用C++11的经验和乐趣。本书分为两篇,篇主要是介绍一些常用的C++11特性,介绍这些特性是如何优化C++11以前的一些代码的,读者可以从中更深刻地领悟这些新特性;第二篇主要是一些实际开发中的典型应用案例,通过这些案例读者可以看到C++11的这些新特性是如何综合运用于实际开发中的,具有实践的指导作用。相信本书会成为读者学习和应用C++11的良师益友。
更多精彩,点击进入品牌店查阅>>
作者简介
这是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库;
……