Book Image

Expert C++ - Second Edition

By : Marcelo Guerra Hahn, Araks Tigranyan, John Asatryan, Vardan Grigoryan, Shunguang Wu
5 (1)
Book Image

Expert C++ - Second Edition

5 (1)
By: Marcelo Guerra Hahn, Araks Tigranyan, John Asatryan, Vardan Grigoryan, Shunguang Wu

Overview of this book

Are you an experienced C++ developer eager to take your skills to the next level? This updated edition of Expert C++ is tailored to propel you toward your goals. This book takes you on a journey of building C++ applications while exploring advanced techniques beyond object-oriented programming. Along the way, you'll get to grips with designing templates, including template metaprogramming, and delve into memory management and smart pointers. Once you have a solid grasp of these foundational concepts, you'll advance to more advanced topics such as data structures with STL containers and explore advanced data structures with C++. Additionally, the book covers essential aspects like functional programming, concurrency, and multithreading, and designing concurrent data structures. It also offers insights into designing world-ready applications, incorporating design patterns, and addressing networking and security concerns. Finally, it adds to your knowledge of debugging and testing and large-scale application design. With Expert C++ as your guide, you'll be empowered to push the boundaries of your C++ expertise and unlock new possibilities in software development.
Table of Contents (24 chapters)
1
Part 1:Under the Hood of C++ Programming
7
Part 2: Designing Robust and Efficient Applications
18
Part 3:C++ in the AI World

Questions

  1. What are the negative side effects of macros and function overloading?
  2. What is a class/function template? What is a template class/function?
  3. What is a template parameter list? What is a template argument list? Once we have a class template, we can instantiate it either explicitly or implicitly. In what kind of scenario is explicit instantiation necessary?
  4. What does polymorphism mean in C++? What is the difference between function overloading and function overriding?
  5. What are type traits? How do we implement a type trait?
  6. In the 5_class_template_implicit_inst_B.cpp file, we said implicit instantiation generates the X<int> class, and then creates an xi object and generates the X<int>::f() function, but not X<int>::g(). How can you verify that X<int>::g() is not generated?
  7. Using TMP, solve the problem of f(x,n) = x^n, where n is a const and x is a variable.
  8. Extend 16_loop_unrolling_traditional.cpp and 17_loop_unrolling_metaprogramming...