Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
ISBN: 1491903996
EAN13: 9781491903995
Language: English
Publication Date: December 5, 2014
Pages: 334
Dimensions: 0.60" H x 9.10" L x 6.90" W
Weight: 1.25 lbs.
Format: Paperback
Book Overview
Coming to grips with C++11 and C++14 is more than a matter of familiarizing yourself with the features they introduce (e.g., auto type declarations, move semantics, lambda expressions, and concurrency support). The challenge is learning to use those features effectively --so that your software is correct, efficient, maintainable, and portable. That's where this practical book comes in. It describes how to write truly great software using C++11 and C++14--i.e. using modern C++. Topics include: The pros and cons of braced initialization, noexcept specifications, perfect forwarding, and smart pointer make functions The relationships among std:: move , std:: forward , rvalue references, and universal references Techniques for writing clear, correct, effective lambda expressions How std:: atomic differs from volatile , how each should be used, and how they relate to C++'s concurrency API How best practices in old C++ programming (i.e., C++98) require revision for software development in modern C++ Effective Modern C++ follows the proven guideline-based, example-driven format of Scott Meyers' earlier books, but covers entirely new material. After I learned the C++ basics, I then learned how to use C++ in production code from Meyer's series of Effective C++ books. Effective Modern C++ is the most important how-to book for advice on key guidelines, styles, and idioms to use modern C++ effectively and well. Don't own it yet? Buy this one. Now. -- Herb Sutter, Chair of ISO C++ Standards Committee and C++ Software Architect at Microsoft