ERRATA LIST This document is the errata list for: Michael D. Adams An Introduction to the C++ Programming Language (Version 2015-02-03) 2015 Below is a list of errors in the lecture slides that have been identified to date. ################################################################################ Date: 2015-02-17 Version: 2015-02-03 Slide 481 (Thread Local Storage) The type "int" is missing in a few places. thread_local counter = 0; should read thread_local int counter = 0; static thread_local counter = 0; should read static thread_local int counter = 0; ################################################################################ Date: 2015-02-17 Version: 2015-02-03 Slide 496 (std::lock_guard Members) In the second table, the following changes should be made. Change "construct mutex" to "construct lock guard". Change "destroy mutex" to "destroy lock guard". ################################################################################ Date: 2015-02-17 Version: 2015-02-03 Slide 500 (std::unique_lock Members) In the second table, the following changes should be made. Change "construct mutex" to "construct unique lock". Change "destroy mutex" to "destroy unique lock". ################################################################################ Date: 2015-02-17 Version: 2015-02-03 Slide 504 (Acquiring Two Locks for Swap) This is not an error per se, but the intent in this example was for the second thread (i.e., the thread associated with the object t2) to execute the code b.swap(a); not the code a.swap(b); If the latter code is used, a deadlock is extremely likely to result when the program is run. In this sense, the above change makes the example more interesting/relevant. ################################################################################ Date: 2015-03-18 Version: 2015-02-03 Slide 67 (Character Literals) The character-type of a literal prefixed with u8 is char, not char16_t. ################################################################################ Date: 2015-04-04 Version: 2015-02-03 Slide 123 (Functions), first two bullets Slide 124 (Functions (Continued)), first bullet In the bullets that present the form of a function definition, "argument_declarations" are more correctly referred to as "parameter_declarations". ################################################################################ Date: 2015-04-04 Version: 2015-02-03 Slide 140 (Argument Matching) Technically, the set of best matches being empty can also correspond to the case of an ambiguous function call (not just the case that no candidate functions exist). The wording should be chosen more carefully to correctly reflect this fact. ################################################################################ Date: 2015-04-08 Version: 2015-02-03 Slide 87 (The volatile Qualifier) typo in second bullet "reads and write operations" should read "read and write operations" ################################################################################ Date: 2015-04-19 Version: 2015-02-03 Slide 48 (make Command) "targets: one or more" should read "targets: zero or more" ################################################################################ Date: 2015-08-06 Name: Brody Holden Version: 2015-02-03 Slide 67 (Character Literals) u8 is proposed for C++17 ################################################################################ Date: 2015-08-06 Name: Brody Holden Version: 2015-02-03 Slide 68 (Character Literals (Continued)) slide says that alphabetic characters not guaranteed to be consecutive clarify that this is for ordinary character literals ################################################################################ Date: 2015-08-07 Name: Brody Holden Version: 2015-02-03 Slides 90-94 The noexcept operator is missing from the list of operators. Also, sizeof... and alignof are missing as well. ################################################################################ Date: 2015-07-09 Name: Scott Byrne Version: 2015-02-03 Slide 87 (The volatile Qualifier) in the second bullet, the word "cannot" is repeated accidentally ################################################################################ Date: 2015-08-12 Name: Michael Adams Version: 2015-02-03 Slide 493 std::mutex Members native_handle gets a handle for a mutex not a thread ################################################################################ Date: Name: Version: Slides ################################################################################ Date: Name: Version: Slides ################################################################################