Talk:Modern C++: The Good Parts

Vision
I want to have a constructive conversation so that this "book" might be as good as possible. All details are open to question; I don't want to suffer from myopia on this.

Certain features will be deliberately avoided or warned against, such as: Because understanding such features is important for reading code and occasionally for writing it (usually when calling an archaic library), they will be detailed in Appendix A: The Bad Parts. The intention is not to forbid these features absolutely, but to delay the reader from learning them until he has the background to understand which problems they should be applied to.
 * raw pointers, C-style arrays
 * multiple inheritance
 * macros
 * implicit brackets
 * labels,
 * implicit brackets
 * labels,

A tentative preliminary outline of pages:
 * The Basics
 * variables,
 * operators
 * Control Flow
 * ,,  ,  , not
 * functions
 * function overloading
 * exceptions
 * Organizing Data
 * , consumption of templates
 * classes as PODs, no  keyword
 * member functions
 * access modifiers
 * reference parameters
 * constructors
 * simple template construction
 * , non-type template parameters
 * inheritance
 * functions
 * simple template construction
 * , non-type template parameters
 * inheritance
 * functions

--Jesdisciple (discuss • contribs) 05:10, 1 September 2014 (UTC)

Topics to cover
In addition to the above list, I've needed to avoid these topics so far: --Jesdisciple (discuss • contribs) 08:15, 5 September 2014 (UTC)
 * cases in switch statements;
 * and  in loops;
 * useful fall-through of switch statement cases; and
 * default arguments.


 * A void function works like other functions, except that no value is returned. Calls to void functions are not allowed to be used in other expressions. A void function can have  statements, but cannot use values in them. For example, this void function uses a return statement to avoid executing some logic (the call to  ):