oder
Loggen Sie sich ein, um 1-Click® einzuschalten.
 
 
Alle Angebote
87 Angebote ab EUR 26,67

Möchten Sie verkaufen?
Hier verkaufen
 
   
Modern C++ Design, Generic Programming and Design Patterns Applied
 
 

Modern C++ Design, Generic Programming and Design Patterns Applied (Taschenbuch)

von Andrei Alexandrescu (Autor)
5.0 von 5 Sternen  Alle Rezensionen anzeigen (3 Kundenrezensionen)
Preis: EUR 32,95 Kostenlose Lieferung. Siehe Details.
o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o o
Auf Lager.
Verkauf und Versand durch Amazon.de. Geschenkverpackung verfügbar.

Lieferung bis Donnerstag, 26. November: Wählen Sie an der Kasse Overnight-Express. Siehe Details.
76 neu ab EUR 26,67 11 gebraucht ab EUR 32,28
Amazon Kindle
Amazon Kindle - Jetzt internationaler Versand aus den USA
Entdecken Sie über 250.000 englischsprachige Bücher, Zeitungen und Zeitschriften. Mehr erfahren und bestellen bei Amazon.com in den USA.

Wird oft zusammen gekauft

Modern C++ Design, Generic Programming and Design Patterns Applied + C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth) + Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions, engl. Ed.
Preis für alle drei: EUR 84,85

Verfügbarkeit und Versanddetails anzeigen


Kunden, die diesen Artikel gekauft haben, kauften auch

C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth)

C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth)

von Herb Sutter
5.0 von 5 Sternen (2)  EUR 25,95
C++ Templates: The Complete Guide

C++ Templates: The Complete Guide

von Nicolai M. Josuttis
5.0 von 5 Sternen (3)  EUR 40,95
Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions, engl. Ed.

Exceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions, engl. Ed.

von Herb Sutter
5.0 von 5 Sternen (9)  EUR 25,95
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing)

Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing)

von Scott Meyers
4.8 von 5 Sternen (51)  EUR 32,95
Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library (Addison-Wesley Professional Computing)

Effective STL: 50 Specific Ways to Improve the Use of the Standard Template Library (Addison-Wesley Professional Computing)

von Scott Meyers
5.0 von 5 Sternen (1)  EUR 30,95
Weitere Artikel entdecken

Produktinformation

  • Taschenbuch: 352 Seiten
  • Verlag: Addison-Wesley Longman, Amsterdam (22. Februar 2001)
  • Sprache: Englisch
  • ISBN-10: 0201704315
  • ISBN-13: 978-0201704310
  • Größe und/oder Gewicht: 23,1 x 18,8 x 2 cm
  • Durchschnittliche Kundenbewertung: 5.0 von 5 Sternen  Alle Rezensionen anzeigen (3 Kundenrezensionen)
  • Amazon.de Verkaufsrang: Nr. 36.059 in Englische Bücher (Die Bestseller Englische Bücher)
  • Komplettes Inhaltsverzeichnis ansehen

Produktbeschreibungen

Book Description

The intended audience of this book falls into two main categories. The first category is that of experienced C++ programmers who want to master the most modern library writing techniques. The book presents new, powerful C++ idioms that have surprising capabilities, some of which weren't even thought possible. These idioms are of great help in writing high-level libraries. Intermediate C++ programmers who want to go a step further will certainly find the book useful, too, especially if they invest a bit of perseverance. Although pretty hard-core C++ code is sometimes presented, it is thoroughly explained.

The second category consists of busy programmers who need to get the job done without undergoing a steep learning investment. They can skim the most intricate details of implementation and concentrate on using the provided library. Each chapter has an introductory explanation and ends with a Quick Facts section. Programmers will find these features a useful reference in understanding and using the components. The components can be understood in isolation, are very powerful yet safe, and are a joy to use.
You need to have a solid working experience with C++ and, above all, the desire to learn more. A degree of familiarity with templates and the Standard Template Library (STL) is desirable.

Having an acquaintance with design patterns (Gamma et al. 1995) is recommended but not mandatory. The patterns and idioms applied in the book are described in detail. However, this book is not a pattern book it does not attempt to treat patterns in full generality. Because patterns are presented from the pragmatic standpoint of a library writer, even readers interested mostly in patterns may find the perspective refreshing, if constrained.

Loki

The book describes an actual C++ library called Loki. Loki is the god of wit and mischief in Norse mythology, and the authors hope is that the library's originality and flexibility will remind readers of the playful Norse god. All the elements of the library live in the namespace Loki. The namespace is not mentioned in the coding examples because it would have unnecessarily increased indentation and the size of the examples. Loki is freely available to download.
Except for its threading part, Loki is written exclusively in standard C++. This, alas, means that many current compilers cannot cope with parts of it. I implemented and tested Loki using Metrowerks CodeWarrior Pro 6.0 and Comeau C++ 4.2.38, both on Windows. It is likely that KAI C++ wouldnt have any problem with the code, either. As vendors release new, better compiler versions, you will be able to exploit everything Loki has to offer.
Lokis code and the code samples presented throughout the book use a popular coding standard originated by Herb Sutter. Im sure you will pick it up easily. In a nutshell,
Classes, functions, and enumerated types look LikeThis.
Variables and enumerated values look likeThis.
Member variables look likeThis_.
Template parameters are declared with class if they can be only a user-defined type, and with typename if they can also be a primitive type.

Organization

The book consists of two major parts: techniques and components. Part I (Chapters 1 to 4) describes the C++ techniques that are used in generic programming and in particular in building generic components. A host of C++-specific features and techniques are presented: policy-based design, partial template specialization, typelists, local classes, and more. You may want to read this part sequentially and return to specific sections for reference.

Part II builds on the foundation established in Part I by implementing a number of generic components. These are not toy examples; they are components of industrial strength used in real-world applications. Recurring issues that C++ developers face in their day-to-day activity, such as smart pointers, object factories, and functor objects, are discussed in depth and implemented in a generic way. The text presents implementations starting from the needs, the fundamental problems. Instead of explaining what a body of code does, the approach of the book is to discuss problems, take design decisions, and implement those decisions gradually.

Chapter 1 presents policiesa C++ idiom that helps in creating flexible designs.
Chapter 2 discusses general C++ techniques related to generic programming.
Chapter 3 implements typelists, which are powerful type manipulation structures.
Chapter 4 introduces an important ancillary tool: a small-object allocator.
Chapter 5 introduces the concept of generalized functors, useful in designs that use the Command design pattern.
Chapter 6 describes Singleton objects.
Chapter 7 discusses and implements smart pointers.
Chapter 8 describes generic object factories.
Chapter 9 treats the Abstract Factory design pattern and provides implementations of it.
Chapter 10 implements several variations of the Visitor design pattern in a generic manner.
Chapter 11 implements several multimethod engines, solutions that foster various trade-offs.
The design themes cover many important situations that C++ programmers have to cope with on a regular basis. I personally consider object factories (Chapter 8) a cornerstone of virtually any quality polymorphic design. Also, smart pointers (Chapter 7) are an important component of many C++ applications, small and large. Generalized functors (Chapter 5) have an incredibly broad range of applications. Once you have generalized functors, many complicated design problems become very simple. The other, more specialized, generic components, such as Visitor (Chapter 10) or multimethods (Chapter 11) have important niche applications and stretch the boundaries of language support.



Synopsis

In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and virtuosity, Alexandrescu offers a cutting-edge approach to software design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code. The book introduces the concept of generic components, reusable design templates that enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding. The author then shows how to apply this approach to recurring, real-world issues that C++ programmers face in their day-to-day activity. All code is available on the Web, along with Alexandrescu's downloadable Loki C++ library, which provides powerful out-of-the-box functionality for virtually any C++ project. For experienced C++ programmers who have at least some familiarity with the Standard Template Library (STL).

Was kaufen Kunden, nachdem sie diesen Artikel angesehen haben?

Modern C++ Design, Generic Programming and Design Patterns Applied
63% kaufen den auf dieser Seite vorgestellten Artikel:
Modern C++ Design, Generic Programming and Design Patterns Applied 5.0 von 5 Sternen (3)
EUR 32,95
C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth)
13% kaufen
C++ Coding Standards: 101 Rules, Guidelines and Best Practices (C++ In-Depth) 5.0 von 5 Sternen (2)
EUR 25,95
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing)
11% kaufen
Effective C++: 55 Specific Ways to Improve Your Programs and Designs (Addison-Wesley Professional Computing) 4.8 von 5 Sternen (51)
EUR 32,95
C++ Templates: The Complete Guide
7% kaufen
C++ Templates: The Complete Guide 5.0 von 5 Sternen (3)
EUR 40,95

In diesem Buch (Mehr dazu)
Ausgewählte Seiten ansehen
Buchdeckel | Inhaltsverzeichnis | Auszug | Stichwortverzeichnis | Rückseite
Hier reinlesen und suchen:

Tags, die Kunden mit diesem Produkt verbinden

 (Was ist das?)
Klicken Sie zum Suchen verwandter Artikel, Diskussionen oder Personen auf ein Tag.
 

 

 

Kundenrezensionen

3 Rezensionen
5 Sterne:
 (3)
4 Sterne:    (0)
3 Sterne:    (0)
2 Sterne:    (0)
1 Sterne:    (0)
 
 
 
 
 
Durchschnittliche Kundenbewertung
5.0 von 5 Sternen (3 Kundenrezensionen)
 
 
 
 
Sagen Sie Ihre Meinung zu diesem Artikel:
Die hilfreichsten Kundenrezensionen

 
42 von 42 Kunden fanden die folgende Rezension hilfreich:
5.0 von 5 Sternen C++ Templates für Fortgeschrittene, 15. März 2001
Von Ein Kunde
Wer bisher geglaubt hat, über C++ im grossen und ganzen Bescheid zu wissen, sollte dieses Buch lesen. Was darin mit templates gemacht wird hat wohl kaum seinesgleichen.

Haben Sie z.B. schon einmal template template parameter gesehen oder gar eingesetzt (ich stottere übrigens nicht)? In Bjarne Stroustrup's dritter Ausgabe seines Buchs "The C++ Programming Language" schreibt er in 13.2.3 darüber: "A template can take type parameters, parameters of ordinary types such as ints, and template parameters (§C.13.3)." Im Anhang C gibt's dann gerade mal eine halbe Seite Beschreibung dazu. Ganz offensichtlich misst Stroustrup dem keine grosse Bedeutung zu. Anderer Meinung ist Alexandrescu: "These constructs use one of the most powerful constructs of C++, a feature unmatched by any other language -- template template parameters." Er bleibt den Beweis nicht schuldig.

Was halten Sie z.B von einer Smartpointer-Klasse, die mittels 4 policy-parametern auf ein fast beliebiges Verhalten parameterisiert werden können (ownership management, conversion, error checking und storage)? Die Anzahl möglicher Kombinationen geht in die Hunderte.

Dieses Buch ist ein Muss für fortgeschrittene C++ Programmierer die ein bisschen in die Zukunft blicken wollen und ihren Horizont erweitern wollen. Übrigens: Wenn Sie die darin beschriebenen Dinge selber ausprobieren wollen, brauchen Sie einen zum Standard voll konformen Compiler. Viele aktuelle Produkte namhafter Hersteller sind das leider noch nicht.

Kommentar Kommentar | Kommentar als Link | War diese Rezension für Sie hilfreich? Ja Nein (Rezension unzumutbar?)



 
12 von 12 Kunden fanden die folgende Rezension hilfreich:
5.0 von 5 Sternen C++ für Cracks, 25. Juli 2002
Von Hans Peter Bornhauser (Weinfelden, Schweiz) - Alle meine Rezensionen ansehen
(REAL NAME)   
Endlich wieder einmal ein Buch für fortgeschrittene C++ Programmierer. Ähnlich wie seinerzeit Scott Meyers (Effective C++) erläutert Alexandrescu grundlegend neue Aspekte der Umsetzung von Design Pattern mit Hilfe von C++ Templates. Er fängt dort an, wo alle anderen C++ Bücher aufhören. Viel weiter als das GoF Buch geht er mit Singleton, Smart Pointers, Factories und Visitor. Im Anhang erklärt er wichtige Aspekte zu Multithreading.
Kommentar Kommentar | Kommentar als Link | War diese Rezension für Sie hilfreich? Ja Nein (Rezension unzumutbar?)



 
24 von 26 Kunden fanden die folgende Rezension hilfreich:
5.0 von 5 Sternen Man beachte den Untertitel!, 1. Juli 2001
Von Ein Kunde
Das Buch besteht aus zwei Teilen: Kapitel 1 bis 4 behandeln "Techniques" des "Generic Programming", Kapitel 5 bis 11 beschäftigen sich mit "Design Patterns Applied" (so daß man möglichst das "Design Patterns"-Buch der GoF bereitshalten sollte). Und anders als beim Buch "Generic Programming and the STL" von Matt Austern steckt hinter dem harmlosen Titel "Modern C++ Design" /sehr/ viel mehr als ein bloßer Katalog.

Auch wenn erst die zweite Fassung der zugehörigen"Loki"-Bibliothek auch mit g++ 2.95 funktioniert, war für mich bereits das "Vorauslesen" eine äußerst spannende Sache. Jetzt mit der benutzbaren Software werde ich das Buch so schnell wie möglich nochmals durcharbeiten und die beschriebenen Techniken und die bereitgestellten Werkzeuge eingehend studieren.

Es bleibt zu höffen, daß diese Form von C++ besser früher als später von den maßgeblichen Compiler(hersteller)n unterstützt wird. (Versuchen Sie mal, einen STL-Container mit polymorphen Elementen durch STL-Algorithmen zu manipulieren; erst mit Loki::SmartPtr<T,RefCounted,AllowConversion> ist mir das gelungen.)

Kommentar Kommentar | Kommentar als Link | War diese Rezension für Sie hilfreich? Ja Nein (Rezension unzumutbar?)


Sagen Sie Ihre Meinung zu diesem Artikel: Eigene Rezension erstellen
 
 
 
Nur in den Rezensionen zu diesem Produkt suchen



Kunden diskutieren

Das Forum zu diesem Produkt
Diskussion Antworten Jüngster Beitrag
Noch keine Diskussionen

Fragen stellen. Meinungen austauschen. Neues erfahren.
Neue Diskussion starten
Thema:
Erster Beitrag:
Eingabe des Log-ins
 


Aktive Diskussionen in ähnlichen Foren
   
Ähnliche Foren


Lieblingslisten


Ähnliche Artikel finden


Anhand des Sachgebietes nach ähnlichen Produkten suchen:


Ihr Kommentar


Für Sie dokumentiert

 (Was ist das?)

Sobald Sie sich Produktseiten oder Suchergebnisse angesehen haben, finden Sie diese Seiten zu Ihrer Information hier aufgeführt.