International Kindle Paperwhite
Buy new:
-36%$38.18
DeliveryWednesday, July 23
Ships from: Amazon.com
Sold by: Amazon.com
$38.18 with 36 percent savings
List Price: $59.99
The List Price is the suggested retail price of a new product as provided by a manufacturer, supplier, or seller. Except for books, Amazon will display a List Price if the product was purchased by customers on Amazon or offered by other retailers at or above the List Price in at least the past 90 days. List prices may not necessarily reflect the product's prevailing market price.
Learn more
FREE International Returns
No Import Charges & $9.53 Shipping to Japan Details

Shipping & Fee Details

Price $38.18
AmazonGlobal Shipping $9.53
Estimated Import Charges $0.00
Total $47.71

DeliveryWednesday, July 23
Or fastest deliveryTuesday, July 22. Order within21 hrs 39 mins
In Stock
$$38.18 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$38.18
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Enhancements you chose aren't available for this seller. Details
To add the following enhancements to your purchase, choose a different seller.
%cardName%
${cardName} not available for the seller you chose
${cardName} unavailable for quantities greater than ${maxQuantity}.
Ships from
Amazon.com
Amazon.com
Ships from
Amazon.com
Sold by
Amazon.com
Amazon.com
Sold by
Amazon.com
Payment
Secure transaction
Your transaction is secure
We work hard to protect your security and privacy. Our payment security system encrypts your information during transmission. We don’t share your credit card details with third-party sellers, and we don’t sell your information to others.Learn more
$33.00
FREE International Returns
bend on front cover bend on front cover See less
DeliveryJuly 28 - August 5
$$38.18 () Includes selected options. Includes initial monthly payment and selected options. Details
Price
Subtotal
$$38.18
Subtotal
Initial payment breakdown
Shipping cost, delivery date, and order total (including tax) shown at checkout.
Access codes and supplements are not guaranteed with used items.
Enhancements you chose aren't available for this seller. Details
To add the following enhancements to your purchase, choose a different seller.
%cardName%
${cardName} not available for the seller you chose
${cardName} unavailable for quantities greater than ${maxQuantity}.
Added to
Unable to add item to List. Please try again.

Sorry, there was a problem.

There was an error retrieving your Wish Lists. Please try again.

Sorry, there was a problem.

List unavailable.
Other sellers on Amazon
Kindle app logo image

Download the free Kindle app and start reading Kindle books instantly on your smartphone, tablet, or computer -no Kindle device required.

Read instantly on your browser with Kindle for Web.

Using your mobile phone camera - scan the code below and download the Kindle app.

QR code to download the Kindle App

Follow the author

Something went wrong. Please try your request again later.

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14 1st Edition

byScott Meyers(Author)
Sorry, there was a problem loading this page. Try again.

{"desktop_buybox_group_1":[{"displayPrice":"$38.18","priceAmount":38.18,"currencySymbol":"$","integerValue":"38","decimalSeparator":".","fractionalValue":"18","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"rY%2BZb4jBjPdS902QtsadwBezgp3tzOfeowBEIcW7GmSo2xVz%2F49LD2NsQxxqxdTuLbFgjS3cTg446PqwHayh%2BaVUW%2FrEYnvuGA2d%2FUHL%2BrfOHB%2Fr6SWyXm5d2SYz7rXy3PGX2ZBaFgCcfHSXQoY%2Bgg%3D%3D","locale":"en-US","buyingOptionType":"NEW","aapiBuyingOptionIndex":0}, {"displayPrice":"$33.00","priceAmount":33.00,"currencySymbol":"$","integerValue":"33","decimalSeparator":".","fractionalValue":"00","symbolPosition":"left","hasSpace":false,"showFractionalPartIfEmpty":true,"offerListingId":"rY%2BZb4jBjPdS902QtsadwBezgp3tzOfeQyCpybuyeJbV3WuspUL63rmYWDci7k7AnvTp%2BokWaBeCYoJYu%2Fsj39SpS12qugqFQDWjQ%2FAblrKd9ruTwqa%2F3WkUH8RIb%2BghTmE6e1NJsqZZcgTGYhM49tLeWAel7V0hXHiHVQDImYK6crMRdDXNC8eYPJqCzVfG","locale":"en-US","buyingOptionType":"USED","aapiBuyingOptionIndex":1}]}

Purchase options and add-ons

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 featureseffectively―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. usingmodern C++.

Topics include:

  • The pros and cons of braced initialization,noexcept specifications, perfect forwarding, and smart pointermake functions
  • The relationships amongstd::move,std::forward, rvalue references, and universal references
  • Techniques for writing clear, correct,effective lambda expressions
  • Howstd::atomic differs fromvolatile, 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

  1. ISBN-10
    9781491903995
  2. ISBN-13
    978-1491903995
  3. Edition
    1st
  4. Publication date
    December 5, 2014
  5. Language
    English
  6. Dimensions
    8.5 x 0.76 x 11 inches
  7. Print length
    334 pages

Frequently bought together

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
This item: Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14
$38.18
In Stock
Ships from and sold by Amazon.com.
+
Effective C++: 55 Specific Ways to Improve Your Programs and Designs
$43.88
In Stock
Ships from and sold by Amazon.com.
+
Tour of C++, A (C++ In-Depth Series)
$39.99
In Stock
Ships from and sold by Amazon.com.
Total price: $00
To see our price, add these items to your cart.
Try again!
Details
Added to Cart
Choose items to buy together.

Frequently purchased items with fast delivery

Page1 of1Start over

From the brand

oreilly
  1. Sharing the knowledge of experts

    O'Reilly's mission is to change the world by sharing the knowledge of innovators. For over 40 years, we've inspired companies and individuals to do new things (and do them better) by providing the skills and understanding that are necessary for success.

    Our customers are hungry to build the innovations that propel the world forward. And we help them do just that.

  2. Software Architecture: The Hard Parts: Modern Trade-Off Analyses for Distributed Architectures
    Machine Learning Design Patterns: Solutions to Common Challenges in Data Preparation, Model Build...
    Essential Math for Data Science: Take Control of Your Data with Fundamental Linear Algebra, Proba...
    Learning Web Design: A Beginner's Guide to HTML, CSS, JavaScript, and Web Images

    Your partner in learning

    Visit the Store

  3. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniqu...
    Hands-On Large Language Models: Language Understanding and Generation
    Designing Data-Intensive Applications: The Big Ideas Behind Reliable, Scalable, and Maintainable ...
    AI Engineering: Building Applications with Foundation Models

    Bestsellers

    Visit the Store

  4. Fundamentals of Software Architecture: An Engineering Approach
    Platform Engineering: A Guide for Technical, Product, and People Leaders
    Facilitating Software Architecture: Empowering Teams to Make Architectural Decisions
    Building Green Software: A Sustainable Approach to Software Development and Operations

    Software Development

    Visit the Store

  5. Fluent Python: Clear, Concise, and Effective Programming
    #
    Learning Java: An Introduction to Real-World Programming with Java
    Programming Rust: Fast, Safe Systems Development

    Programming Languages

    Visit the Store

  6. Hands-On Machine Learning with Scikit-Learn, Keras, and TensorFlow: Concepts, Tools, and Techniqu...
    Designing Machine Learning Systems: An Iterative Process for Production-Ready Applications
    Hands-On Generative AI with Transformers and Diffusion Models
    Prompt Engineering for LLMs: The Art and Science of Building Large Language Model–Based Applications

    AI / Machine Learning

    Visit the Store

  7. Learning Data Science: Data Wrangling, Exploration, Visualization, and Modeling with Python
    Data Science from Scratch: First Principles with Python
    Essential Math for Data Science: Take Control of Your Data with Fundamental Linear Algebra, Proba...
    Data Science: The Hard Parts: Techniques for Excelling at Data Science

    Data Science

    Visit the Store

  8. Python for Data Analysis: Data Wrangling with pandas, NumPy, and Jupyter
    Database Internals: A Deep Dive into How Distributed Data Systems Work
    Fundamentals of Data Engineering: Plan and Build Robust Data Systems
    Learning Data Science: Data Wrangling, Exploration, Visualization, and Modeling with Python

    Data, Databases and more

    Visit the Store

  9. Building Microservices: Designing Fine-Grained Systems
    System Design on AWS: Building and Scaling Enterprise Solutions
    Cloud Native Infrastructure with Azure: Building and Managing Cloud Native Applications
    Hacking Kubernetes: Threat-Driven Analysis and Defense

    Cloud Services

    Visit the Store

  10. Mastering Blockchain: Unlocking the Power of Cryptocurrencies, Smart Contracts, and Decentralized...
    Blockchain Tethered AI: Trackable, Traceable Artificial Intelligence and Machine Learning
    Programming Bitcoin: Learn How to Program Bitcoin from Scratch
    Mastering the Lightning Network: A Second Layer Blockchain Protocol for Instant Bitcoin Payments

    Blockchain / Cryptocurrency

    Visit the Store

  11. Head First Java: A Brain-Friendly Guide
    Head First Software Architecture: A Learner's Guide to Architectural Thinking
    Head First Python: A Learner's Guide to the Fundamentals of Python Programming, A Brain-Friendly ...
    Head First Design Patterns: Building Extensible and Maintainable Object-Oriented Software 2nd Edi...

    Head First series

    Visit the Store

  12. 97 Things Every Engineering Manager Should Know: Collective Wisdom from the Experts
    97 Things Every Information Security Professional Should Know: Collective Wisdom from the Experts
    97 Things Every UX Practitioner Should Know: Collective Wisdom from the Experts
    97 Things Every Data Engineer Should Know: Collective Wisdom from the Experts

    97 Things series

    Visit the Store

  13. Running Lean: Iterate from Plan A to a Plan That Works
    Lean Analytics: Use Data to Build a Better Startup Faster
    Lean UX: Designing Great Products with Agile Teams
    Lean AI: How Innovative Startups Use Artificial Intelligence to Grow

    Lean series

    Visit the Store


From the Publisher

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.

Editorial Reviews

About the Author

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, and they keep him in demand as a trainer, consultant, and conference presenter. Winner of the 2009 Dr. Dobb’s Excellence in Programming Award, he has a Ph.D. in Computer Science from Brown University.

Product details

  • ASIN ‏ : ‎1491903996
  • Publisher ‏ : ‎O'Reilly Media, Incorporated
  • Publication date ‏ : ‎December 5, 2014
  • Edition ‏ : ‎1st
  • Language ‏ : ‎English
  • Print length ‏ : ‎334 pages
  • ISBN-10 ‏ : ‎9781491903995
  • ISBN-13 ‏ : ‎978-1491903995
  • Item Weight ‏ : ‎1.4 pounds
  • Dimensions ‏ : ‎8.5 x 0.76 x 11 inches
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

Videos

Help others learn more about this product by uploading a video!
Upload your video

About the author

Follow authors to get new release updates, plus improved recommendations.
Scott Meyers
Brief content visible, double tap to read full content.
Full content visible, double tap to read brief content.

For more than 20 years, Scott Meyers' Effective C++ books (Effective C++, Effective Modern C++, Effective STL, and More Effective C++) 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.

Customer reviews

4.6 out of 5 stars
1,139 global ratings

Customer Reviews, including Product Star Ratings help customers to learn more about the product and decide whether it is the right product for them.

To calculate the overall star rating and percentage breakdown by star, we don’t use a simple average. Instead, our system considers things like how recent a review is and if the reviewer bought the item on Amazon. It also analyzed reviews to verify trustworthiness.

Learn more how customers reviews work on Amazon

Review this product

Share your thoughts with other customers

Customers say

Customers find the book an excellent guide for experienced C++ programmers, with well-explained concepts and comprehensive coverage of C++11/14 features. They appreciate its readability and consider it a must-read, with one customer noting it serves as a fast track into the modern C++ world. The book receives positive feedback for its content, with one customer mentioning it answered several burning questions, and customers like its style and presentation.

74 customers mention "Readability"74 positive0 negative

Customers find the book highly readable, describing it as an excellent and classic C++11 resource.

"...Great book. Hope he does another after concepts come out, but I think is retired now."Read more

"...Author and publisher made good efforts to give usgreat book."Read more

"Excellent book. Each chapter (aka item) provides advise and guidelines, very effectively explaining the underlying concepts...."Read more

"Good read! My experience is with C++98 and the book is a good jump start for adopting c++11. It also covers c++14."Read more

26 customers mention "C++ language"21 positive5 negative

Customers praise this C++ book as an excellent guide for experienced programmers, particularly noting its focus on language capabilities.

"...The book is paradigm agnostic. Itfocuses strictly on C++ programming language capabilities and a few standards approved capabilities represented..."Read more

"I love the Effective series.C++ is ridiculously complex and an amazing language, more so now than ever...."Read more

"...This book alonemade me a better C++ developer in a short span of time, and I still use it as a reference today. Get this book and read it."Read more

"...as a C++ programmer to write more correct, compact, andmaintainable code, which you would appreciate over time, not today."Read more

15 customers mention "Content"15 positive0 negative

Customers find the book's content engaging and fun to read, with one customer noting it answered several burning questions.

"...aspects to the (practically new) language while stillkeeping the content interesting and easy to read...."Read more

"...Thebook is fun, full of jokes, but at the same time depressing. Makes you want to stop using C++ and flee to another programming language."Read more

"...Not onlycontent is great, paper and print quality is excellent. Author and publisher made good efforts to give us great book."Read more

"...Some of thechapters were useful to me, but others require me first to buy in an introduction to C++{11,14} before I can understand this book."Read more

7 customers mention "Pacing"7 positive0 negative

Customers appreciate the book's pacing, with one customer noting it serves as a fast track into the modern C++ world, while another mentions there are no errors in it.

"...to make more sense of the updated standard library code andmile long compiler errors."Read more

"...before C++98, this book along with Scott's Effective C++ hashelped me get up-to-speed...."Read more

"...The writing is engaging,nicely paced and chock full of useful nuggets of information...."Read more

"...Another book of useful C++ recipes, tips, andpitfalls. I haven't used much from this book in practice yet, but the book was good...."Read more

5 customers mention "Style"5 positive0 negative

Customers appreciate the book's style and presentation, with one customer describing it as a piece of art.

"Written with clarity and wit -- what could be better.Much different style than most such technical books, and a style I find conducive to my quick..."Read more

"..."Effective C++" books, then you will stillenjoy the style and presentation in this book...."Read more

"Piece of art! I read all three (more) Effective (modern) C++ by this author. They are all bibles on C++ at their times...."Read more

"Good read, Scott never disappoints.Nicely done, well stated. Full of the pragmatic. Great ways to keep from blowing off your entire foot."Read more

Customer image
5.0 out of 5 stars

Images in this review
Counterfeit product
1 out of 5 stars
Counterfeit product
As you can see, the spine has no writing and the back cover text is cut off. Definitely a fake product and I’m disappointed Amazon would allow this blatantly counterfeit product to sell.
Thank you for your feedback
Sorry, there was an error
Sorry we couldn't load the review

Top reviews from the United States

There was a problem filtering reviews. Please reload the page.

  • Reviewed in the United States on January 26, 2015
    Format: PaperbackVerified Purchase
    In the terms of Fred Brooks, The Mythical Man Month, or, perhaps, Thomas S. Kuhn, The Structure of Scientific Revolutions, this impressive and exceptional work by Scott Meyers shows how a systems language designed to allow even device driver development is degenerating by committee-submission-creep towards a Java like applications language ...

    Effective Modern C++ does give excellent advice on how to cope. Together with Scott Meyers' other three well known works, the programmer working on a low level programming effort systems or device driver or games performance would be able to navigate the shallows and avoid the rocks and riptides ... But, woe betide the high level applications programmer who, frankly, is using the wrong tool for the job ...

    Take the C++ 14 general cleanup of types. This was probably needed anyway. But, together with a comprehensive new typeset to make smart pointers usable, and a concurrency API, this low level approach to these matters may make thread safety possible in non kernel operating system executive mode executables built therefrom. However, the question I wish to raise is whether threads really need any more than absolutely minimal use outside application level code ... Scott's treatment of types and pointers with a view to thread safety is comprehensive and well written ... This essential advice will save many an in-betweenst project halfway really not a systems project but really not an applications one either ...

    One reason I bought this book was to find out the detail of what lambdas were. Oh God! Remembering Clipper 5.01 from 1993, whose Clipper code-blocks were this half-way house between DEC's PDP-11 TECO macros, which had the awful possibility of self modification, and proper compiled to p-code small functions a la many Pascals, I suspect these lambdas share the problem that Clipper code-blocks had: one could embed a value inside the code-block a single internal state value that the code-block carried around. This idea undermined the whole conception of good code. Expressibility. Efficient. Maintainable. Obvious. Comprehensible. Top-Down.

    If one wants to send impenetrablely obscure messages from deep inside one module to deep inside another, not using the call chain, nor the data heap, use explicit operating system semaphores, not such side effects!! Therefore use lambdas with caution, and preferably not at all.

    Nevertheless another classic work by the author, noted for his writings on C++!!
    12 people found this helpful
    Report
  • Reviewed in the United States on December 26, 2014
    Format: KindleVerified Purchase
    Honesty about C++ and the things that can really help you and those things you should manage carefully is what I like most about this book. The author did an exception job helping the reader navigate through C++ to understand the essence of those things that can benefit or most imperil them when using the language. You do need to have a general understanding of C++ before reading the book. Particularly, recent publications from Bjarne Stroustrup would be very helpful. Some knowledge of the STL could be helpful but not entirely necessary. You do not need to be fully versed in OOP or other programming paradigms. The book is paradigm agnostic. It focuses strictly on C++ programming language capabilities and a few standards approved capabilities represented through C++.

    Sometimes a good approach to knowledge involves the long way. It seems best to avoid certain shortcuts since good insights may be absent or unavailable when needed. However, there are shorter paths to understanding that are indeed productive. This book is one of those. Rather than spend months or years contending with many of missteps possible without the knowledge presented here, the author makes your use of C++ far more productive and reliable.

    Optimal ways to use capabilities in C++ are discussed and demonstrated. You can also read the book and get the impression that some parts of C++11 and C++14 are screwed up. That would be an incorrect view. I am referring to the parts of the book that show that some features of C++ are not what they seem on the surface. A great example are lambdas and their relationship to memory leaks if used improperly. What I see is that certain features or not designed wrong but they are not designed to be used all the time. C++ is like the computer language equivalent of Lego blocks. Not all pieces are designed to be used everywhere and in every case. It also means that when you use C++, you don't really straight code in it like you might in a managed language, but you use it thoughtfully every step of the way. This book shows you some of those considerations that can reduce technical design problems and improve software programs.
    4 people found this helpful
    Report
  • Reviewed in the United States on August 18, 2024
    Format: PaperbackVerified Purchase
    No book is ever going to be precisely what you are looking for; every author is going to have to compromise a bit, to cover a range of interests. I found this one a bit laboured to begin with, but then I hit the stretches that were just what I needed. On the whole, I think Harrison has struck the right balance and I'd recommend this to anyone who already knows how to programme, who already has at least a working knowledge of Python, and now wants to get started using the Pandas library.
  • Reviewed in the United States on October 5, 2024
    Format: PaperbackVerified Purchase
    I find each item digestible and extensible.
    The github repository holding each code sample is cool also.

Top reviews from other countries

  • pansk
    5.0 out of 5 starsIl libro piu' importante per il programmatore C++ moderno
    Reviewed in Italy on February 17, 2016
    Format: PaperbackVerified Purchase
    E' il libro da avere se avete programmato in C++03 per anni e siete spaesati dalle nuove feature del linguaggio. Il libro spiega, con esempi concreti e parole chiare, come approcciare le novita', quando usarle e come evitare i problemi che questi nuovi costrutti introducono.
  • Alfredo Ramos
    5.0 out of 5 starsInformativo y conciso
    Reviewed in Mexico on March 21, 2019
    Format: PaperbackVerified Purchase
    El autor da por hecho que ya tienes experiencia con C++, de modo que este libro es para profundizar el conocimiento ya adquirido con los estándares C++11 y C++14.

    Si se va iniciando en el lenguaje, se debería comenzar con otro libro (podría recomendar uno cuyo autor es el creador de C++); si ya has tenido un acercamiento con C++ o dominas el estandar C++98, este libro te ayudará a actualizarte.
  • Jose Manuel
    5.0 out of 5 starsJosema
    Reviewed in Spain on April 8, 2016
    Format: KindleVerified Purchase
    Libro estupendo!! Si eres desarrollador de sw sobre C++, quieres entender en profundidad la nueva concepcion del C++11\14 estandar (si amigo, el C++ estandar evoluciona) y buscas un buen catálogo de buenas prácticas, esta es una de las referencias que seguro te ayudará.
    ----
    Awesome book!! If you are C++ SW developer, you want to deep understand the new standard C++11\14 (yes dude, C++ evolves) and you are looking for a best practices catalogue, this is a book that will help for sure.
  • guyllaume
    5.0 out of 5 starsGreat book!!
    Reviewed in Canada on September 15, 2023
    Format: PaperbackVerified Purchase
    An amazing book for learning more about c++ advance topics!! Definitly a must have to your collection. Explanations are well crafted and simple to understand.
  • Der weise Scheuch
    5.0 out of 5 starsHervorragend
    Reviewed in Germany on August 7, 2016
    Format: KindleVerified Purchase
    Auf der Suche nach einem Buch für den Urlaub, welches sowohl die umfangreichen C++11 Neuerungen als auch die nachfolgenden C++14 Erweiterungen/Anpassungen beleuchtet, bin ich auf dieses Buch gestoßen. Bereits im Vorwort bei den Danksagungen an die Personen, die für Mr. Meyers Material beigesteuert und Korrektur gelesen haben, dachte ich mir "Wow, das ist ja das who is who der C++ Autoren-Szene". Und die Erwartungen wurden nicht enttäuscht. In Abschnitten ("Items") nimmt sich der Autor jeweils ein Gebiet (z.B. unique_ptr/shared_ptr, Lambdas, auto, move semantic usw.) vor und beleuchtet es wirklich von allen Seiten mit sämtlichen Vor- und Nachteilen. So hat man für jedes neue Feature danach das gute Gefühl, zu wissen, was konkret unter der Haube passiert und ob/wie man es in seine eigenen Projekte übernimmt. Sehr hilfreich sind dabei auch die Hinweise, wenn C++14 nochmal eine Schippe drauf legt (auto in Lambdas, type_traits usw.). Auf diese Weise kann man bei der Migration auf "Modern C++" gleich auf die verbesserte/vereinfachte Syntax von C++14 aufspringen, statt sich mit der (oft noch nicht optimalen) Variante von C++11 zu begnügen - sofern der Compiler es bereits unterstützt. Das Buch ist wahrscheinlich für Anfänger etwas zu schwer, besticht dafür aber durch präzise und stets korrekte Beschreibungen, was bei anderen Autoren manchmal etwas "luschig" daherkommt.
    Bsp: "You can move the address stored by one unique_ptr<T> object to another using the std::move()function" (Ivor Horton, "Using the C++ Standard Template Libraries") vs. "std::move doesn’t move anything. .... At runtime, neither does anything at all. They generate no executable code. Not a single byte." (Dieses Buch).
    Manche Items (z.B. die zu den von Meyers bezeichneten "universal references" + reference collapsing) habe ich mir nach erster Lektüre des ganzen Buches noch ein zweites Mal durchgelesen, da man sie nach dem ersten Durchgang und Kenntnis des Gesamtbildes besser versteht. Besonders hervorzuheben wären noch die Codebeispiele: hier wurden keine endlosen Listings abgedruckt um "Seiten zu schinden", sondern stets nur kurze Schnipsel verwendet, die zum Verständnis des Themas hilfreich sind. Ggf. hat der Autor dann Sourcen (z.B. Codeschnipsel aus der C++ Standard Library) ausgedünnt und farblich hervorgehoben, um den Fokus auf den jeweils relevanten Part zu lenken.

    Ein abschließendes Wort zur von mir genutzten elektronischen Ausgabe:
    Bei einigen Fachbüchern (C++, Perl) habe ich in der Vergangenheit bereits völlig unbrauchbare e-Books erstanden, bei denen die Code-Beispiele Kraut und Rüben waren (verrutschte Operatoren usw.). Das ist hier glücklicherweise nicht der Fall. Sowohl auf einem Kindle als auch (iPad) Kindle-App sieht alles einwandfrei aus. Zusätzlich hat sich der Autor auch die Mühe gemacht, alle Code-Beispiele extra so zu formatieren, dass sie nicht zu lang werden (64 Spalten max. glaube ich). Bei geeigneter Schriftgröße hat man so auch kein Problem mit Zeilenumbrüchen, die ungültigen Code auf den Schirm zaubern (z.B. Umbruch einer "// Kommentarzeile"). Davon können sich andere Kindle-Ausgaben (z.B. von Herr Stroustrup) mal eine Scheibe abschneiden ;-)