Advertisement

© 2019

C++17 Standard Library Quick Reference

A Pocket Guide to Data Structures, Algorithms, and Functions

Book

Table of contents

  1. Front Matter
    Pages i-xxiii
  2. Peter Van Weert, Marc Gregoire
    Pages 1-27
  3. Peter Van Weert, Marc Gregoire
    Pages 29-72
  4. Peter Van Weert, Marc Gregoire
    Pages 73-111
  5. Peter Van Weert, Marc Gregoire
    Pages 113-139
  6. Peter Van Weert, Marc Gregoire
    Pages 141-187
  7. Peter Van Weert, Marc Gregoire
    Pages 189-230
  8. Peter Van Weert, Marc Gregoire
    Pages 231-255
  9. Peter Van Weert, Marc Gregoire
    Pages 257-269
  10. Back Matter
    Pages 271-293

About this book

Introduction

This quick reference is a condensed guide to the essential data structures, algorithms, and functions provided by the C++17 Standard Library. It does not explain the C++ language or syntax, but is accessible to anyone with basic C++ knowledge or programming experience. Even the most experienced C++ programmer will learn a thing or two from it and find it a useful memory-aid. 

It is hard to remember all the possibilities, details, and intricacies of the vast and growing Standard Library. This handy reference guide is therefore indispensable to any C++ programmer. It offers a condensed, well-structured summary of all essential aspects of the C++ Standard Library. No page-long, repetitive examples or obscure, rarely used features. Instead, everything you need to know and watch out for in practice is outlined in a compact, to-the-point style, interspersed with practical tips and well-chosen, clarifying examples. 

This new edition is updated to include all Standard Library changes in C++17, including the new vocabulary types std::string_view, any, optional, and variant; parallel algorithms; the file system library; specialized mathematical functions; and more.

You will:
  • Gain the essentials that the C++ Standard Library has to offer
  • Use containers to efficiently store and retrieve your data
  • Inspect and manipulate your data with algorithms 
  • See how lambda expressions allow for elegant use of algorithms
  • Discover what the standard string class provides and how to use it
  • Write localized applications
  • Work with file and stream-based I/O
  • Prevent memory leaks with smart pointers
  • Write safe and efficient multi-threaded code using the threading libraries

Keywords

C++ C++17 Standard Library STL templates quick reference code programming C++ 17 Cplusplus syntax

Authors and affiliations

  1. 1.Kessel-LoBelgium
  2. 2.MeldertBelgium

About the authors

Marc Gregoire is a software engineer from Belgium. He graduated from the University of Leuven, Belgium, with a degree in “Burgerlijk ingenieur in de computer wetenschappen” (equivalent to Master of Science in engineering in computer science). The year after, he received the cum laude degree of master in artificial intelligence at the same university. After his studies, Marc started working for a software consultancy company called Ordina Belgium. As a consultant, he worked for Siemens and Nokia Siemens Networks on critical 2G and 3G software running on Solaris for telecom operators. This required working in international teams stretching from South America and USA to EMEA and Asia. Now, Marc is working for Nikon Metrology on industrial 3D laser scanning software. His main expertise is C/C++, and specifically Microsoft VC++ and the MFC framework. He has experience in developing C++ programs running 24x7 on Windows and Linux platforms; for example, KNX/EIB home automation software. Next to C/C++, Marc also likes C# and uses PHP for creating web pages. Since April 2007, he received the yearly Microsoft MVP (Most Valuable Professional) award for his Visual C++ expertise. Marc is the founder of the Belgian C++ Users Group, author of Professional C++ and a member on the CodeGuru forum (as Marc G). 

Peter Van Weert is a Belgian software engineer, whose main interests and expertise are programming languages, algorithms, and data structures. He received his master of science in computer science summa cum laude with congratulations of the Board of Examiners from the University of Leuven. In 2010, he completed his PhD thesis on the design and efficient compilation of rule based programming languages at the declarative programming languages and artificial intelligence department of the same university. During his doctoral studies, he was a teaching assistant for object-oriented programming (Java), software analysis and design, and declarative programming. After graduating, Peter joined Nikon Metrology to work on large-scale, industrial application software in the area of 3D laser scanning and point cloud inspection. At Nikon, he has mastered C++, refactoring and debugging very large code bases, and has gained further proficiency in all aspects of the software development process, including the analysis of functional and technical requirements, and agile and scrum-based project and team management. In his spare time, he has co-authored two award-winning Windows 8 apps, and is a regular speaker at and board member of the Belgian C++ Users Group.

Bibliographic information

Industry Sectors
Pharma
Automotive
Biotechnology
IT & Software
Telecommunications
Consumer Packaged Goods
Aerospace
Finance, Business & Banking
Electronics
Oil, Gas & Geosciences
Engineering