Mastering the C++17 STL (Paperback)

Arthur O'Dwyer

  • 出版商: Packt Publishing
  • 出版日期: 2017-09-28
  • 售價: $1,850
  • 貴賓價: 9.5$1,758
  • 語言: 英文
  • 頁數: 384
  • 裝訂: Paperback
  • ISBN: 178712682X
  • ISBN-13: 9781787126824
  • 相關分類: C++ 程式語言
  • 海外代購書籍(需單獨結帳)

買這商品的人也買了...

商品描述

Key Features

  • Boost your productivity as a C++ developer with the latest features of C++17
  • Develop high-quality, fast, and portable applications with the varied features of the STL
  • Migrate from older versions (C++11, C++14) to C++17

Book Description

Modern C++ has come a long way since 2011. The latest update, C++17, has just been ratified and several implementations are on the way.

This book is your guide to the C++ standard library, including the very latest C++17 features.

The book starts by exploring the C++ Standard Template Library in depth. You will learn the key differences between classical polymorphism and generic programming, the foundation of the STL. You will also learn how to use the various algorithms and containers in the STL to suit your programming needs. The next module delves into the tools of modern C++. Here you will learn about algebraic types such as std::optional, vocabulary types such as std::function, smart pointers, and synchronization primitives such as std::atomic and std::mutex. In the final module, you will learn about C++'s support for regular expressions and file I/O.

By the end of the book you will be proficient in using the C++17 standard library to implement real programs, and you'll have gained a solid understanding of the library's own internals.

What you will learn

  • Make your own iterator types, allocators, and thread pools.
  • Master every standard container and every standard algorithm.
  • Improve your code by replacing new/delete with smart pointers.
  • Understand the difference between monomorphic algorithms, polymorphic algorithms, and generic algorithms.
  • Learn the meaning and applications of vocabulary type, product type and sum type.

About the Author

Arthur O'Dwyer has used modern C++ in his day job for about ten years--since the days when "modern C++" meant "classic C++." Between 2006 and 2011 he worked on the Green Hills C++ compiler. Since 2014 he has organized a weekly C++ meetup in the San Francisco Bay Area, and he speaks regularly on topics such as those to be found in this book. Later this year, he will attend an ISO C++ committee meeting for the second time.

This is his first book.

Table of Contents

  1. Classical Polymorphism versus Generic Programming
  2. Iterators and Ranges
  3. The Iterator-Pair Algorithms
  4. The Container Zoo
  5. Vocabulary Types
  6. Smart Pointers
  7. Concurrency
  8. Allocators
  9. Iostreams
  10. Regular Expressions
  11. Random numbers
  12. Filesystem

商品描述(中文翻譯)

主要特點


  • 使用C++17的最新功能提高C++開發者的生產力

  • 使用STL的各種功能開發高質量、快速和可移植的應用程序

  • 從舊版本(C++11、C++14)遷移到C++17

書籍描述

自2011年以來,現代C++已經取得了長足的進步。最新的更新,C++17,剛剛被批准,並且有幾個實現正在進行中。

本書是您學習C++標準庫的指南,包括最新的C++17功能。

本書首先深入探討C++標準模板庫。您將學習傳統多態性和通用編程之間的關鍵差異,這是STL的基礎。您還將學習如何使用STL中的各種算法和容器來滿足您的編程需求。下一個模塊深入介紹了現代C++的工具。在這裡,您將學習關於代數類型(如std::optional)、詞彙類型(如std::function)、智能指針以及同步原語(如std::atomic和std::mutex)的知識。在最後一個模塊中,您將學習C++對正則表達式和文件I/O的支持。

通過本書,您將能夠熟練使用C++17標準庫來實現真實的程序,並且您將對庫的內部結構有深入的理解。

您將學到什麼


  • 創建自己的迭代器類型、分配器和線程池。

  • 掌握每個標準容器和每個標準算法。

  • 通過使用智能指針替換new/delete來改進代碼。

  • 了解單態算法、多態算法和通用算法之間的區別。

  • 學習詞彙類型、產品類型和總和類型的含義和應用。

關於作者

Arthur O'Dwyer在他的日常工作中使用現代C++已經有大約十年的時間了,從“現代C++”意味著“傳統C++”開始。在2006年至2011年期間,他曾在Green Hills C++編譯器上工作。自2014年以來,他在舊金山灣區組織了一個每週一次的C++聚會,並且經常就本書中的主題發表演講。今年晚些時候,他將第二次參加ISO C++委員會的會議。

這是他的第一本書。

目錄


  1. 傳統多態性與通用編程

  2. 迭代器和範圍

  3. 迭代器對算法

  4. 容器集合

  5. 詞彙類型

  6. 智能指針

  7. 並發

  8. 分配器

  9. 輸入輸出流

  10. 正則表達式

  11. 隨機數

  12. 文件系統