More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions

Valutazione media 4,17
( su 133 valutazioni fornite da Goodreads )
 
9780201704341: More Exceptional C++: 40 New Engineering Puzzles, Programming Problems, and Solutions

This text contains coverage of optimization in both single and multi threaded environments. It emphasizes generic programming and using the C++ Standard Library.

Le informazioni nella sezione "Riassunto" possono far riferimento a edizioni diverse di questo titolo.

Review:

Aimed at advanced C++ developers who want to hone their programming chops even further, Herb Sutter's More Exceptional C++ borrows the format of his earlier title, Exceptional C++, and delivers some of today's best-available thinking on the language in a handy and effective format. A compilation of the author's own experience and research on the thornier aspects of C++, this book will serve as a worthy resource for making sure you get the most out of this powerful language.

The concise text covers a range of challenging topics in C++ without attempting to be comprehensive. Each "item" is presented as a question to try and solve yourself before the author presents his solution, plus additional detail as needed. For most topics, Sutter ends by giving his advice on the best practices (and gotchas to avoid).

Early sections concentrate on using Standard Template Library (STL) container classes, like removing items effectively, and the subtle differences between container types. Standout sections on designing custom templates (using specialization techniques) and exception-safe classes will help you do more with your own classes. One entertaining problem here shows a number-guessing game (Mastermind) built as efficiently as possible using STL code (including expert-level use of generic functions to do much of the work).

Several problems on copy-on-write (COW) semantics for more efficient classes point out the issues surrounding code optimization. (The author argues against a simplistic approach to optimizing code, including an overreliance on inlining functions. Several times he points out the difficulty of getting COW code to work in multithreaded projects.)

There has been a debate in the C++ community for years about whether it's possible to design truly "exception-safe" classes. Sutter points out the difficulty with a precise analysis of the issues surrounding exceptions and C++ constructors. Material on the finer points of inheriting classes (including when to avoid and when to use multiple inheritance in C++) will extend your class design options. A good section here is the author's explication of how to simulate COM/Java style interfaces in C++, which isn't immediately obvious, even to experienced C++ developers.

Later sections delve into code maintenance issues, including advice for using macros, typedefs, and namespaces. (Advice on migrating existing C++ code into namespaces will help you combine legacy code with other libraries.) A final appendix shows off some benchmarks for optimizing strings using a variety of techniques.

Intelligent, provocative, and demanding, More Exceptional C++ shows why C++ continues to be a rich, complex, and challenging language. Armed with titles like this one, experienced C++ programmers can write better code and avoid pitfalls buried in the outer edges of their favorite language. --Richard Dragan

Topics covered: Puzzles and solutions to advanced topics in C++, using remove() and erase() for Standard Template Library (STL) containers, custom templates with inheritance and traits, using typename, containers used with pointers, the finer points of vector, set, and maps, potential problems with vector < bool >, post and prefix operators used with functions, templates overloading, explicit and partial template specialization (plus function template overloading), using STL to implement Mastermind (a number-guessing game), the finer points of inline functions, lazy optimizations (including copy-on-write--COW--and semantics for strings), iterators and references, gotchas in multithreaded environments, designing exception-safe classes, constructor failures and object lifetimes, uncaught exceptions (the pitfalls of using uncaught_exception()), unmanaged pointers (in parameter evaluation and auto_ptr); copy assignment, inheritance and exception safety issues, multiple inheritance dos and don'ts, the Siamese Twin problem, virtual functions, controlled polymorphism, memory management issues with smart pointers (auto_ptr), recursive declarations, how to simulate nested functions, preprocessor macros, hints for initialization, forward declarations, using typedef effectively, best practices for namespaces (including code maintenance and migrating existing C++ code to namespaces), and appendices on advice for multithreaded optimization.

From the Back Cover:

Organized in a practical problem-and-solution format, More Exceptional C++ picks up where the widely acclaimed Exceptional C++ leaves off, providing successful strategies for solving real-world problems in C++. Drawing from years of in-the-trenches experience, Herb Sutter provides tested techniques and practical solutions for programmers designing modern software systems with C++, from small projects to enterprise applications.

Built around forty programming puzzles, More Exceptional C++ helps you understand the rules and issues critical to successful software design and development in C++. New themes included in this sequel place a strong emphasis on generic programming, memory management, and using the C++ standard library, including coverage of important techniques like traits and predicates. Also included are guidelines and considerations to remember when using standard containers and algorithms--topics rarely covered in-depth in other sources.

Readers will find solutions to such important questions as:
  • What pitfalls might you encounter when using std::map and std::set, and how can you safely avoid them?
  • What kinds of predicates are safe to use with the STL, what kinds aren't, and why?
  • What techniques are available for writing powerful generic template code that can change its own behavior based on the capabilities of the types it's given to work with?
  • When and how should you optimize your code? Why can (and do) fancy optimizations get us into trouble? And how can some of these answers change if you're writing multithread-safe code?
  • Does exception safety affect class design, or can it be retrofitted in as an afterthought?
  • How can you avoid the Siamese Twin problem when combining inheritance-based libraries from different vendors?
  • How can you safely use auto_ptr, and then use common design patterns to adapt it to avoid common pitfalls? Can you use auto_ptr as a class member? What must you know before you elect to use it that way?
  • Plus one of the most frequently recurring questions about modern C++: When and how should you use namespaces, anyway?

A must-have for the serious programmer, More Exceptional C++ provides a thorough and pragmatic understanding of the language while showing you how to write exceptional code in C++.



020170434XB11092001

Le informazioni nella sezione "Su questo libro" possono far riferimento a edizioni diverse di questo titolo.

I migliori risultati di ricerca su AbeBooks

1.

Sutter, Herb
Editore: Addison-Wesley Professional
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Quantità: 1
Da
Cronus Books
(Carson City, NV, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Addison-Wesley Professional. Condizione libro: New. 020170434X New Inside & Out. Clean & Crisp! You will be pleased. Excellent book! ( z1s103C ) Some minor shelf wear on cover . ** Fast Shipping! **. Codice libro della libreria SKU1012404

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 33,67
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 3,46
In U.S.A.
Destinazione, tempi e costi

2.

Sutter, Herb
Editore: Prentice Hall
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Quantità: > 20
Da
INDOO
(Avenel, NJ, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Prentice Hall. Condizione libro: New. Brand New. Codice libro della libreria 020170434X

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 34,39
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 3,04
In U.S.A.
Destinazione, tempi e costi

3.

Herb Sutter
Editore: Pearson Education (US), United States (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 1
Da
The Book Depository US
(London, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Pearson Education (US), United States, 2001. Paperback. Condizione libro: New. Language: English . Brand New Book. More Exceptional C++ continues where Herb Sutter s best-selling Exceptional C++ left off, delivering 40 puzzles that illuminate the most challenging -- and most powerful -- aspects of C++. More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management. For all C++ programmers. Codice libro della libreria AAC9780201704341

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 38,22
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

4.

Sutter, Herb
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Quantità: 1
Da
Pbshop
(Wood Dale, IL, U.S.A.)
Valutazione libreria
[?]

Descrizione libro 2001. PAP. Condizione libro: New. New Book.Shipped from US within 10 to 14 business days. Established seller since 2000. Codice libro della libreria IB-9780201704341

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 39,04
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 3,46
In U.S.A.
Destinazione, tempi e costi

5.

Herb Sutter
Editore: Pearson Education (US), United States (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 1
Da
The Book Depository
(London, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Pearson Education (US), United States, 2001. Paperback. Condizione libro: New. Language: English . Brand New Book. More Exceptional C++ continues where Herb Sutter s best-selling Exceptional C++ left off, delivering 40 puzzles that illuminate the most challenging -- and most powerful -- aspects of C++. More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management. For all C++ programmers. Codice libro della libreria AAC9780201704341

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 43,74
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

6.

Herb Sutter
Editore: Pearson Education (US), United States (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 1
Da
Book Depository hard to find
(London, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Pearson Education (US), United States, 2001. Paperback. Condizione libro: New. Language: English . This book usually ship within 10-15 business days and we will endeavor to dispatch orders quicker than this where possible. Brand New Book. More Exceptional C++ continues where Herb Sutter s best-selling Exceptional C++ left off, delivering 40 puzzles that illuminate the most challenging -- and most powerful -- aspects of C++. More Exceptional C++ offers many new puzzles focused on generic programming and the C++ Standard Template Library, including important techniques such as traits and predicates, as well as key considerations in using standard containers and algorithms -- many of them never covered elsewhere. More Exceptional C++ contains a detailed new section (and two appendices) on optimization in single- and multithreaded environments. It also provides important new insights on crucial topics first introduced in Exceptional C++, including exception safety, generic programming, and memory management. For all C++ programmers. Codice libro della libreria BZV9780201704341

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 46,78
Convertire valuta

Aggiungere al carrello

Spese di spedizione: GRATIS
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

7.

Herb Sutter
Editore: Pearson Education (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Quantità: 1
Da
Books2Anywhere
(Fairford, GLOS, Regno Unito)
Valutazione libreria
[?]

Descrizione libro Pearson Education, 2001. PAP. Condizione libro: New. New Book. Shipped from US within 10 to 14 business days. Established seller since 2000. Codice libro della libreria IB-9780201704341

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 40,49
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 10,17
Da: Regno Unito a: U.S.A.
Destinazione, tempi e costi

8.

Sutter, Herb
Editore: Addison-Wesley Professional (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 1
Da
Murray Media
(North Miami Beach, FL, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Addison-Wesley Professional, 2001. Paperback. Condizione libro: New. Codice libro della libreria 020170434X

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 51,67
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 2,59
In U.S.A.
Destinazione, tempi e costi

9.

Herb Sutter
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 1
Da
AMAZINGBOOKDEALS
(IRVING, TX, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Paperback. Condizione libro: BRAND NEW. BRAND NEW. Fast Shipping. Prompt Customer Service. Satisfaction guaranteed. Codice libro della libreria 020170434XBNA

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 50,84
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 3,46
In U.S.A.
Destinazione, tempi e costi

10.

Sutter, Herb
Editore: Addison-Wesley Professional (2001)
ISBN 10: 020170434X ISBN 13: 9780201704341
Nuovi Paperback Quantità: 2
Da
Murray Media
(North Miami Beach, FL, U.S.A.)
Valutazione libreria
[?]

Descrizione libro Addison-Wesley Professional, 2001. Paperback. Condizione libro: New. Codice libro della libreria P11020170434X

Maggiori informazioni su questa libreria | Fare una domanda alla libreria

Compra nuovo
EUR 52,91
Convertire valuta

Aggiungere al carrello

Spese di spedizione: EUR 2,59
In U.S.A.
Destinazione, tempi e costi

Vedi altre copie di questo libro

Vedi tutti i risultati per questo libro