Эффективный и современный С++. 42 рекомендации по использованию С++11 и С++14
Effective Modern C++
Effective Modern C++
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. It's essential reading for every modern C++ software developer.
For more than 20 years,
Scott Meyers
'
Effective C++
books (
Effective C++
,
More Effective C++
, and
Effective STL
) have set the bar for C++ programming guidance. His clear, engaging explanations of complex technical material have earned him a worldwide following, keeping him in demand as a trainer, consultant, and conference presenter. He has a Ph.D. in Computer Science from Brown University.
“After I learned the C++ basics, I then learned how to use C++ in production code from Meyers' 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