Code Monkey home page Code Monkey logo

cpp-17-stl-cookbook's Introduction

C++17 STL Cook book

函数式编程和Lambda表达式的最新功能

  • 作者:Jacek Galowicz
  • 译者:陈晓伟

本书主旨

  • 了解C++最新的特性,使用标准库(STL)编写更优秀的代码,使用最新特性和STL节省开发上的时间开销。
  • 了解STL特性所适用的范围和能力,并用其特性解决实际问题。
  • 简洁优雅地使用STL实现算法。

本书概述

作为对《C++17 STL Cook book》的中文翻译。

C++因其快捷、高效和灵活的特点,帮助人们解决了很多问题,在很多领域种都有所使用。其将要到来的新版本,将会改变人们的编程习惯。如果想要掌握更加高明的编程方式,或是让代码更轻松地移植,就必须熟练掌握C++17 STL。本书将会通过实际例子帮助你了解C++17 STL,并掌握C++17 STL的使用方法。

本书将帮助你了解新版本的语言机制和标准库特性,并且告诉你他们如何工作。与众不同的是,我们会采用针对问题的特定解决方案,来帮助你克服使用方面的障碍。我们使用STL来解决实际问题,这样你就能了解到STL的核心,比如容器、算法、工具类、Lambda表达式,迭代器等等。这些实际问题的解决在展示如何更好编程的同时,帮助我们更多的了解STL。

看完本书后,你将了解到C++17最新的功能,并优雅地使用STL,且高效的解决难题。

将会学到

  • 了解新语言的核心特性,以及这些特性所解决的问题。
  • 通过实现迭代器来了解特性的需求,以及其内部工作流程。
  • 探索算法、函数编程风格和Lambda表达式。
  • 使用STL中提供的丰富、可移植、快速、久经考验、精心设计的算法。
  • 使用STL中的字符串代替C风格的字符串。
  • 了解支持并发和同步的标准类,以及如何使用
  • 使用C++17 STL中的文件系统库

作者简介

Jacek Galowicz 在德国亚琛工业大学(Rheinisch-Westfälische Technische Hochschule Aachen University)获得电气工程/计算机工程硕士学位。在校期间,他特别喜欢以学生助教的身份参加教学和研究,并且在多项科技刊物发表文章。毕业后,他选择做一名自由执业职,并涉及很多领域,比如使用C和C ++编写内核驱动、 3维图像编程、数据库、网络通讯和物理模拟。近几年,他在Intel和FireEye平台上为Intel x86虚拟化编写性能和安全敏感的微内核操作系统,目前常驻于不伦瑞克(德国中北部城市,属下萨克森州)。 他对使用最新的C++实现低层软件有着强烈的热情,并且努力地将高性能与优雅地编码风格相结合。近年来学习纯粹的函数式编程和Haskell的经历,让他更有动力(在元编程的帮助下)实现泛型编码。

作者鸣谢

感谢支持我翻译的各位同学们!

写书的同时也在创办一家公司,给我带来很多乐趣的同时,也是次很有趣的人生体验。这些有趣的经历来源于我身边的每一个人,感谢我可爱的女友给予我的耐心和支持,以及我公司的合伙人,当然还有支持我的所有朋友。这里要特别感谢Arne Mertz为我提供的的宝贵的建议, 当然还有Torsten Robitzki和来自于Oliver Bruns社区C++用户组的Hannover,感谢他们对本书的反馈。

代码评审

Arne Mertz是一个具有10多年C++经验的专家。他在汉堡大学攻读物理专业,而后转行成为一名软件开发攻城狮。其主要使用C++完成金融企业的应用程序。Arne就任于德国Zuhlke Engineering公司,并且它的博客也非常出名——Simplify C++!。对于C++,其主张在使用清爽,并具有良好可维护性的代码风格。

本书相关

cpp-17-stl-cookbook's People

Contributors

maplefu avatar soyoo avatar wubostc avatar xiaoweichen avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

cpp-17-stl-cookbook's Issues

暂时发现的翻译错误

前言
- 第三段,“并且,这样的使用时令人沮丧的”,“时”==》“是”?
- 第四段,“不使用C++所带的标准库,将会让C++看起来就像是具有类型的C语言”,“具有类型”==》“具有class类型”?
关于本书
- 适读群体,“如果你只想学习有关语言基础的只是”,“只是”==》?
2.2
- 最后一段,”好了,交换是无意义的,复盖是一种更好的方式。“,”复盖“==》?
2.3
- ##How it works... md的二级标题效果没出来
2.4
- 与2.3同样的问题
2.5
- how to do it, "3.主函数中,我们否限定义了一个百万富翁的列表。", "否限"==》?
- how to do it, "list billionaires {}", 最后少一个”;“?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.