This book contains selected questions related to C++14 with detailed solutions to all of these which will help the reader to hone her skills to solve a particular problem.
Primary sources of this collection are:
- Advanced C++ FAQs: Volume 1 : Fundamentals
- Advanced C++ FAQs: Volume 2 : Generic Programming
- Advanced C++ FAQs: Volumes 1 & 2
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 wants to expand her horizon
to latest and greatest in C++14(aka C++1y). The problems are marked on
a scale of one(*)(simplest) to five stars(*****)(hardest).
Forthcoming volumes will strengthen this particular approach spanning
various areas of C++.
- variable templates
- Constexpr static data members of class templates
- constexpr function templates
....
- static data member template
- specialization of variable template
- default argument and specialization of variable template
- lambda and variable template
- variable templates variables vary
- auto variable templates
- valid specialization but error ?
- variable templates and lambda revisited
- Incremental improvement to integral constant
- is same musings
- auto variable template and generic lambda
- constexpr member functions and implicit const
....
- constexpr vs static vs uninitialized
- constexpr vs member function revisited
- deprecated attribute
- Member initializers and aggregate class
....
- Data Member initializers
- time duration literals
...
- Compile Time binary Literal Operator
- Square Literal Operator
- Type Transformation Aliases
- unique ptr vs make unique as function argument
- make unique as perfect forwarding guy
- make unique and new
....
- make unique and default initialization with T[]
- Extend make unique : Support list initialization T[]
- Extend make unique : Value Initialize T[]
- Extend make unique : T[N]
- allocate unique
- Compile-time integer sequences
- Simplified Creation of std::integer sequence
- std::index sequence
- Custom Sequence : Addition
....
- Custom Sequence : Split
- Extract from tuple
- convert std::array to std::tuple
- Piecewise construction of std::pair
- Compile Time Integer Sequence Simplified
- sfinae and represent type of function
- metafunction : check presence of type member
- std::common type and sfinae
- Contextual Conversion
- Single quotation mark as digit separator
- Binary Literals
- auto return type in function declaration
- return type deduction for function
- return type deduction for lambdas
....
- decltype(auto)
- return type deduction for function templates
- explicit instantiation and auto
- return type deduction and virtual
- deduce return type
- generalized lambda capture
- generic lambda and product vector
- generic lambda
- generic lambda definition
- conversion function of generic lambda
- generic lambda quiz
- Preventing Name Hijacking
- Find First Null Pointer in a Container
- Generic Operator Functors
- Exchange Utility
- Addressing Tuple By Type
- Quoted manipulators
- Null Iterator
- std