• Complain

Scott Meyers - Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)

Here you can read online Scott Meyers - Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. year: 2005, publisher: Addison-Wesley Professional, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Scott Meyers Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
  • Book:
    Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)
  • Author:
  • Publisher:
    Addison-Wesley Professional
  • Genre:
  • Year:
    2005
  • Rating:
    3 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition): summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Every C++ professional needs a copy of Effective C++. It is an absolute must-read for anyone thinking of doing serious C++ development. If youve never read Effective C++ and you think you know everything about C++, think again. Steve Schirripa, Software Engineer, Google C++ and the C++ community have grown up in the last fifteen years, and the third edition of Effective C++ reflects this. The clear and precise style of the book is evidence of Scotts deep insight and distinctive ability to impart knowledge. Gerhard Kreuzer, Research and Development Engineer, Siemens AG The first two editions of Effective C++ were embraced by hundreds of thousands of programmers worldwide. The reason is clear: Scott Meyers practical approach to C++ describes the rules of thumb used by the experts the things they almost always do or almost always avoid doing to produce clear, correct, efficient code. The book is organized around 55 specific guidelines, each of which describes a way to write better C++. Each is backed by concrete examples. For this third edition, more than half the content is new, including added chapters on managing resources and using templates. Topics from the second edition have been extensively revised to reflect modern design considerations, including exceptions, design patterns, and multithreading. Important features of Effective C++ include: Expert guidance on the design of effective classes, functions, templates, and inheritance hierarchies. Applications of new TR1 standard library functionality, along with comparisons to existing standard library components. Insights into differences between C++ and other languages (e.g., Java, C#, C) that help developers from those languages assimilate the C++ way of doing things.

Scott Meyers: author's other books


Who wrote Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)? Find out the surname, the name of the author of the book and a list of all author's works by series.

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Appendix A. Beyond Effective C++

Effective C++ covers what I consider to be the most important general guidelines for practicing C++ programmers, but if you're interested in more ways to improve your effectiveness, I encourage you to examine my other C++ books, More Effective C++ and Effective STL .

More Effective C++ covers additional programming guidelines and includes extensive treatments of topics such as efficiency and programming with exceptions. It also describes important C++ programming techniques like smart pointers, reference counting, and proxy objects.

Effective STL is a guideline-oriented book like Effective C++ , but it focuses exclusively on making effective use of the Standard Template Library.

Tables of contents for both books are summarized below.

Contents of More Effective C++

Basics

:

Distinguish between pointers and references

:

Prefer C++-style casts

:

Never treat arrays polymorphically

:

Avoid gratuitous default constructors


Operators

:

Be wary of user-defined conversion functions

:

Distinguish between prefix and postfix forms of increment and decrement operators

:

Never overload && , || , or ,

:

Understand the different meanings of new and delete


Exceptions

:

Use destructors to prevent resource leaks

:

Prevent resource leaks in constructors

:

Prevent exceptions from leaving destructors

:

Understand how throwing an exception differs from passing a parameter or calling a virtual function

:

Catch exceptions by reference

:

Use exception specifications judiciously

:

Understand the costs of exception handling


Efficiency

:

Remember the 80-20 rule

:

Consider using lazy evaluation

:

Amortize the cost of expected computations

:

Understand the origin of temporary objects

:

Facilitate the return value optimization

:

Overload to avoid implicit type conversions

:

Consider using op= instead of stand-alone op

:

Consider alternative libraries

:

Understand the costs of virtual functions, multiple inheritance, virtual base classes, and RTTI


Techniques

:

Virtualizing constructors and non-member functions

:

Limiting the number of objects of a class

:

Requiring or prohibiting heap-based objects

:

Smart pointers

:

Reference counting

:

Proxy classes

:

Making functions virtual with respect to more than one object


Miscellany

:

Program in the future tense

:

Make non-leaf classes abstract

:

Understand how to combine C++ and C in the same program

:

Familiarize yourself with the language standard


Contents of Effective STL

: Containers

:

Choose your containers with care.

:

Beware the illusion of container-independent code.

:

Make copying cheap and correct for objects in containers.

:

Call empty instead of checking size() against zero.

:

Prefer range member functions to their single-element counterparts.

:

Be alert for C++'s most vexing parse.

:

When using containers of new ed pointers, remember to delete the pointers before the container is destroyed.

:

Never create containers of auto_ptr s.

:

Choose carefully among erasing options.

:

Be aware of allocator conventions and restrictions.

:

Understand the legitimate uses of custom allocators.

:

Have realistic expectations about the thread safety of STL containers.


: vector and string

:

Prefer vector and string to dynamically allocated arrays.

:

Use reserve to avoid unnecessary reallocations.

:

Be aware of variations in string implementations.

:

Know how to pass vector and string data to legacy APIs.

:

Use "the swap TRick" to trim excess capacity.

:

Avoid using vector .


: Associative Containers

:

Understand the difference between equality and equivalence.

:

Specify comparison types for associative containers of pointers.

:

Always have comparison functions return false for equal values.

:

Avoid in-place key modification in set and multiset .

:

Consider replacing associative containers with sorted vector s.

:

Choose carefully between map::operator[] and map::insert when efficiency is important.

:

Familiarize yourself with the nonstandard hashed containers.


: Iterators

:

Prefer iterator to const_iterator , reverse_iterator , and const_reverse_iterator .

:

Use distance and advance to convert a container's const_iterator s to iterator s.

:

Understand how to use a reverse_iterator 's base iterator .

:

Consider istreambuf_iterator s for character-by-character input.


: Algorithms

:

Make sure destination ranges are big enough.

:

Know your sorting options.

:

Follow remove -like algorithms by erase if you really want to remove something.

:

Be wary of remove -like algorithms on containers of pointers.

:

Note which algorithms expect sorted ranges.

:

Implement simple case-insensitive string comparisons via mismatch or lexicographical_compare .

:

Understand the proper implementation of copy_if .

:

Use accumulate or for_each to summarize ranges.


: Functors, Functor Classes, Functions, etc.

:

Design functor classes for pass-by-value.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)»

Look at similar books to Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition). We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)»

Discussion, reviews of the book Effective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition) and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.