Free Downloads
Effective Modern C++: 42 Specific Ways To Improve Your Use Of C++11 And C++14

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 functionsThe relationships among std::move, std::forward, rvalue references, and universal referencesTechniques for writing clear, correct, effective lambda expressionsHow std::atomic differs from volatile, how each should be used, and how they relate to C++'s concurrency APIHow 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

Paperback: 336 pages

Publisher: O'Reilly Media; 1 edition (December 5, 2014)

Language: English

ISBN-10: 1491903996

ISBN-13: 978-1491903995

Product Dimensions: 8.5 x 0.8 x 11 inches

Shipping Weight: 1.2 pounds (View shipping rates and policies)

Average Customer Review: 4.8 out of 5 stars  See all reviews (97 customer reviews)

Best Sellers Rank: #7,814 in Books (See Top 100 in Books) #3 in Books > Computers & Technology > Programming > Languages & Tools > C & C++ > C++ #5 in Books > Textbooks > Computer Science > Object-Oriented Software Design #7 in Books > Computers & Technology > Programming > Software Design, Testing & Engineering > Object-Oriented Design

View larger From the Introduction If you’re an experienced C++ programmer and are anything like me, you initially approached C++11 thinking, “Yes, yes, I get it. It’s C++, only more so.” But as you learned more, you were surprised by the scope of the changes. auto declarations, range-based for loops, lambda expressions, and rvalue references change the face of C++, to say nothing of the new concurrency features. And then there are the idiomatic changes. 0 and typedefs are out, nullptr and alias declarations are in. Enums should now be scoped. Smart pointers are now preferable to built-in ones. Moving objects is normally better than copying them. There’s a lot to learn about C++11, not to mention C++14. More importantly, there’s a lot to learn about making effective use of the new capabilities. If you need basic information about “modern” C++ features, resources abound, but if you’re looking for guidance on how to employ the features to create software that’s correct, efficient, maintainable, and portable, the search is more challenging. That’s where this book comes in. It’s devoted not to describing the features of C++11 and C++14, but instead to their effective application. The information in the book is broken into guidelines called Items. Want to understand the various forms of type deduction? Or know when (and when not) to use auto declarations? Are you interested in why const member functions should be thread safe, how to implement the Pimpl Idiom using std::unique_ptr, why you should avoid default capture modes in lambda expressions, or the differences between std::atomic and volatile? The answers are all here. Furthermore, they’re platform-independent, Standards-conformant answers. This is a book about portable C++. The Items in this book are guidelines, not rules, because guidelines have exceptions. The most important part of each Item is not the advice it offers, but the rationale behind the advice. Once you’ve read that, you’ll be in a position to determine whether the circumstances of your project justify a violation of the Item’s guidance. The true goal of this book isn’t to tell you what to do or what to avoid doing, but to convey a deeper understanding of how things work in C++11 and C++14.

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 Effective Objective-C 2.0: 52 Specific Ways to Improve Your iOS and OS X Programs (Effective Software Development Series) Effective STL: 50 Specific Ways to Improve Your Use of the Standard Template Library Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) Effective C++: 55 Specific Ways to Improve Your Programs and Designs Improve Your Eyesight Naturally: How To Improve Your Vision Naturally - Learn Super Effective Eyesight Exercises To Improve Eyesight Without (Vision Therapy, Optometry, Eyesight Improvement) Effective TCP/IP Programming: 44 Tips to Improve Your Network Programs: 44 Tips to Improve Your Network Programs Effective COM: 50 Ways to Improve Your COM and MTS-based Applications Brain Training: Power Brain! - Secret Techniques To: Improve Memory, Focus & Concentration (Brain teasers, Improve memory, Improve focus, Concentration, Brain power) Effective Perl Programming: Ways to Write Better, More Idiomatic Perl (Effective Software Development Series) Node JS: Learn Node In The Most Simple and Effective Way Possible. Learn to use Node in several ways.: With Events, Async Functions, API calls, Push Notifications, Command Line Input, Web Server How to Use Tea Tree Oil - 90 Great Ways to Use Natures "Medicine Cabinet in a Bottle" - Acne, Boils, Head Lice, Nail Fungus, Ringworm, Skin Tags, - Health ... Dilutions and Lots More! (What Is? Book 2) Yes, You Can Get Pregnant: Natural Ways to Improve Your Fertility Now and into Your 40s Modern Essentials Bundle - Modern Essentials *7th Edition* a Contemporary Guide to the Therapeutic Use of Essential Oils, an Intro to Modern Essentials, Reference Card, and Aroma Designs Bookmark Use Now Dollhouse Wallpaper Vol 3: 6 Ready To Use Dollhouse Wallpapers To Decorate 6 Rooms; Full Color! (Use Now Dollhouse Series) How To Stop Hair Loss Naturally: Learn various ways to stop your hair loss and regrow your hair without the use of expensive and harmful drugs Evernote for your Life | A Practical Guide for the Use of Evernote in Your Everyday Life [2014 Edition]: A Practical Guide for the Use of Evernote in Your Everyday Life Home Security Basics: The easiest and most affordable ways to improve your home security. The Fertility Diet: Groundbreaking Research Reveals Natural Ways to Boost Ovulation and Improve Your Chances of Getting Pregnant How to Improve Your Sperm Count: Natural Ways to Increase Sperm Count to aid Conception and Boost Fertility (Fertility, infertility, conceive & Get Pregnant Book 1)