This book is a combination of the following two books :
Advanced C++ FAQs: Volume 1 : Fundamentals Advanced C++ FAQs: Volume 2 : Generic Programming
Advanced C++ FAQs: Volume 1 : Fundamentals
This book is not an introduction to C++. It assumes that the reader is aware of the basics of C++98 and C++03 and is keen to expand her horizon to latest and greatest in the present and future of C++, including C++11 and C++1y(aka C++14). It contains selected fundamental problems with detailed solutions to all of these which will help the reader to hone her skills to solve a particular problem.
Advanced C++ FAQs: Volume 2 : Generic Programming
This book is sequel to the first volume Advanced C++ FAQs : Volume 1 : Fundamentals. It contains selected generic programming problems with detailed solutions.
Algorithms
1.1 Efficient Insertion in Vector
1.2 reverse algorithm for forward iterators
...
1.4 swapping unequal sections
1.5 rotate algorithm
...
1.9 Avoid Raw Loops
...
1.13 better algorithm than std::rotate
...
1.16 reverse algorithm dispatch
1.17 Efficient Algorithm for reverse
...
1.21 is partitioned algorithm
1.22 Bisection Algorithm
...
1.25 advance and next
1.26 custom iota
...
Utilities 2.1 std::move is rvalue cast
2.2 std::move if noexcept
2.3 std::forward
...
2.6 is same
Templates 3.1 alias template
3.2 template parameter pack
3.3 override virtual and template
...
Classes Namespaces Type Specifiers Constant Expression
C++14 ...
8.4 auto return type in function declaration
...
8.6 return type deduction for lambdas
8.7 decltype(auto)
...
8.9 explicit instantiation and auto
8.10 return type deduction and virtual
...
8.12 generalized lambda capture
8.13 generic lambda and product vector
...
Miscellaneous
More C++14 10.1 variable templates
...
10.5 static data member template
...
10.7 default argument and specialization of variable template 10.8 lambda and variable template