Skip to content

Latest commit

 

History

History
220 lines (201 loc) · 17 KB

CppLibrary.md

File metadata and controls

220 lines (201 loc) · 17 KB

A library is a collection of functions and classes.

Libraries that you should familiarize with are [1,2,10]:

Building libraries: shared or static

There are two ways to build a library:

Types of libraries: header-only or not

libraries can be catagorized by their way of using them in a project:

The STL is header-only. Most Boost libraries are header-only.

Overview of C++ libraries (incomplete)

In practice, these are the libraries I use or have used, on the platforms indicated by the pictograms.

  • [1] Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6. Item 53: Familiarize yourself with the standard library, including TR1
  • [2] Scott Meyers. Effective C++ (3rd edition). ISBN: 0-321-33487-6. Item 54: Familiarize yourself with Boost
  • [3] Bjarne Stroustrup. Programming. 2009. ISBN: 978-0-321-54372-1. Chapter 5.9.1: 'Use library facilities rather than your own code when you can'
  • [4] Boost documentation
  • [5] Bjarne Stroustrup. The C++ Programming Language (4th edition). 2013. ISBN: 978-0-321-56384-2. Page 32, 1.5 'Advice', item 12: 'Use libraries, especially the standard library, rather than trying to build everything from scratch'
  • [6] Bjarne Stroustrup. The C++ Programming Language (4th edition). 2013. ISBN: 978-0-321-56384-2. Chapter 13.7. Advice. page 387: '[34] A library shouldn't unilaterally terminate a program. Instead, throw an exception and let a caller decide'
  • [7] Bjarne Stroustrup. The C++ Programming Language (4th edition). 2013. ISBN: 978-0-321-56384-2. Chapter 13.7. Advice. page 387: '[35] A library shouldn't produce diagnostic output aimed at an end user. Instead, throw an exception and let a caller decide'
  • [8] Bjarne Stroustrup. A tour of C++. 2014. ISBN: 978-0-321-958310. Chapter 11.7.2, page 131: 'A library doesn't have to be large or complicated to be useful'
  • [9] C++ Core Guidelines: SL.2: Prefer the standard library to other libraries
  • [10] C++ Core Guidelines: P.13: Use support libraries as appropriate