May 1, 2024
Updated June 6, 2025
25 minute read
Navigating C++17: A Comprehensive Guide for Aspiring and Practicing Developers
C++17 represents a significant iteration of the C++ programming language, standardized by ISO/IEC in December 2017. It builds upon its predecessors, C++11 and C++14, introducing a wealth of features and refinements designed to make C++ code safer, more expressive, and often more performant. This version brought enhancements to both the core language and the standard library, aiming to simplify common programming tasks, improve compile-time capabilities, and provide better tools for developers.
qjwc0p|
Find a path to becoming a C++17. Learn more at:
OpenCourser.com/topic/qjwc0p/c++1
Reading list
We've selected 30 books
that we think will supplement your
learning. Use these to
develop background knowledge, enrich your coursework, and gain a
deeper understanding of the topics covered in
C++17.
The latest edition of the definitive guide to C++ from its creator, Bjarne Stroustrup. This comprehensive book covers the entire C++20 language and standard library, providing deep insights and detailed explanations. It is an essential resource for anyone who wants to master modern C++.
The definitive guide to C++ from its creator, Bjarne Stroustrup. This comprehensive book covers the entire C++17 language and standard library, providing deep insights and detailed explanations. It is an essential resource for anyone who wants to master modern C++.
This comprehensive guide covers all the new language and library features introduced in C++17. It's an excellent resource for both gaining a broad understanding and deepening knowledge of the standard, with a focus on practical application and potential pitfalls. It's a must-read for anyone serious about C++17.
Focuses exclusively on the new features introduced in C++17. It provides detailed explanations and practical examples for each feature, making it excellent for deepening understanding and exploring contemporary topics. It's particularly useful for developers already familiar with C++11/14 who want to transition to C++17.
This edition is specifically updated to cover C++17 features, making it highly relevant for gaining a broad understanding and deepening knowledge of the standard. It's designed for experienced developers and dives into exploiting the full capabilities of C++17 with practical examples and case studies. It serves as a valuable reference for professionals.
Explores advanced C++ design techniques, focusing on generic programming and design patterns. It provides a deep understanding of how to write reusable, efficient, and maintainable C++ code.
Considered the definitive guide by the creator of C++, this comprehensive book covers the language and its standard library in detail. The fourth edition covers C++11, providing a strong foundation for understanding the subsequent C++14 and C++17 standards. While not exclusively focused on C++17, it's an invaluable reference for solidifying fundamental C++ knowledge essential for grasping newer features.
This cookbook focuses on using the C++17 Standard Template Library with practical recipes. It's excellent for learning how to apply C++17 features specifically within the context of the STL, deepening understanding of contemporary library usage.
This highly-regarded book offers practical guidance on effectively using the features introduced in C++11 and C++14. While it predates C++17, the principles and idioms discussed are crucial for writing well-designed and efficient modern C++ code, providing a strong foundation for understanding the rationale behind C++17 additions. It's a must-read for intermediate to advanced C++ programmers.
Concurrency significant aspect of modern C++, and this book is considered a go-to resource for understanding and implementing multithreading. The second edition is updated to cover C++11, C++14, and C++17, making it highly relevant for contemporary C++ development focusing on parallel programming. It's essential for those working on concurrent applications.
Provides in-depth coverage of the C++17 Standard Template Library. It's suitable for developers who want to gain a deep understanding of the STL and how to use its features effectively in C++17. It complements general C++17 books by focusing on a crucial part of the standard library.
This updated edition of the classic book on C++ templates provides a comprehensive and in-depth exploration of this powerful feature. It covers both the fundamentals and advanced topics, making it a valuable resource for programmers of all levels.
This comprehensive reference covers the C++ Standard Library in detail. While the second edition focuses on C++11, it's still an invaluable resource for understanding the foundational components of the library used extensively in C++17. A newer edition covering C++17 would be ideal, but this remains a strong reference for library fundamentals.
Templates are a powerful and complex part of C++, and this book provides a thorough guide. The second edition covers templates up to C++17 and includes a preview of C++20 concepts. It's crucial for developers who need to deeply understand and utilize C++'s generic programming capabilities, a key aspect of modern C++.
Provides a concise and high-level overview of the entire C++ language and its standard library, including C++17 features. It's ideal for experienced programmers who want to get a quick understanding of modern C++ without delving into exhaustive detail. It serves as an excellent starting point to gain broad familiarity before exploring topics in more depth.
Presents a collection of programming challenges designed to help developers improve their skills in modern C++, including C++17 features. It's a practical approach to learning and solidifying understanding through problem-solving.
This updated edition of the classic book on the C++ Standard Library provides a comprehensive collection of recipes and examples for using the library effectively. It covers all the major components, including containers, algorithms, and functions, making it a valuable resource for programmers of all levels.
This cookbook provides solutions and examples for various programming tasks using modern C++, including C++17 features. It's a practical resource for learning by doing and seeing how modern C++ idioms are applied to solve real-world problems.
Offers a fast-paced introduction to C++, including C++17 features. It's suitable for programmers with experience in other languages who want to quickly get up to speed with modern C++. It provides a good overview of the language and its practical uses.
Is aimed at beginners and introduces C++ programming with a focus on C++17 features. It's a good starting point for those new to C++ who want to learn the language using the latest standard. It covers fundamental concepts and gradually introduces C++17 specifics.
A widely used textbook for learning C++ from the ground up. The fifth edition is updated to C++11, making it suitable for beginners and those with some programming experience in other languages. It provides a thorough introduction to the core language and standard library, which is necessary background for understanding C++17 features.
Written by Bjarne Stroustrup, this book is designed for beginners with little to no programming experience. It uses C++ to teach fundamental programming principles. While not focused on C++17 specifics, it provides the necessary foundational knowledge in C++ for anyone starting their journey, making the understanding of modern features more accessible later on.
Comprehensive introduction to C++ programming, often used as a textbook. It covers fundamental concepts and progresses to more advanced topics. While not solely focused on C++17, it provides a solid foundation in C++ for beginners and intermediate learners, which is necessary for understanding later standards.
This concise reference provides a quick and easy way to lookup information about the C++17 Standard Library. It covers all the major components, including containers, algorithms, and functions, making it a valuable resource for programmers of all levels.
For more information about how these books relate to this course, visit:
OpenCourser.com/topic/qjwc0p/c++1