errata for Exceptional C++ Style by Herb Sutter

(1st printing)

errata submitted but Sutter's errata handling is on hold :)

page 144, item 19: In the 2nd sentence after the headlines "Implicit Copy Constructor" and "Implicit Copy Assignment Operator" the book reads: An implicitly declared default constructor is public and inline. Instead of implicitly declared default constructor it should read an implicitly declared copy constructor and implicitly declared copy assignment operator respectively.

page 219, item 19: For further discussion of the declaration ambiguity in C++ the book refers to item 39 in [Meyers01] = Effective STL. Item 39 is "Make predicates pure functions", there is not a single word about ambiguity, so?

page 226, item 29: "Actually, in both Example 29-3(a) and Example 29-3(b), making the suggested change to just one of the parameters would have been sufficient, but for consistency I've treated both parameters the same way." To match the previous text should Example 29-3(a) not look like:

deque<string> coll3( ( istream_iterator<string> (cin) ),
                     ( istream_iterator<string> ()    ) );    // use parenthesis for both parameters
istead of:
deque<string> coll3( ( istream_iterator<string> (cin) ),
                       istream_iterator<string> ()      );

page 267: one could use std::max from the standard library instead of defining a macro (stylistic improvement).