• Keine Ergebnisse gefunden

Fazin.Ghorban@studs.math.uni-wuppertal.de WS2012/2013–¨Ubungsblatt920.Dezember2012Abgabe:bis10.Januar2013an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)

N/A
N/A
Protected

Academic year: 2022

Aktie "Fazin.Ghorban@studs.math.uni-wuppertal.de WS2012/2013–¨Ubungsblatt920.Dezember2012Abgabe:bis10.Januar2013an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

BERGISCHE UNIVERSIT ¨ AT WUPPERTAL

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de

Fachbereich C

MATHEMATIK UND NATURWISSENSCHAFTEN Fachgruppe Mathematik und Informatik

Generische Programmierung

(Spezielle Kapitel der praktischen Informatik)

WS 2012/2013 – ¨ Ubungsblatt 9 20. Dezember 2012

Abgabe: bis 10. Januar 2013 an

Fazin.Ghorban@studs.math.uni-wuppertal.de

Prof. Dr. Hans-J¨urgen Buhl Praktische Informatik / Numerik

E-Mail:Hans-Juergen.Buhl@math.uni-wuppertal.de

WWW:http://www.math.uni-wuppertal.de/buhl

Aufgabe 1. BCCL Concepts unter der Lupe Untersuche

/boost/concept check.hpp

auf die Konzepte UnsignedInteger, Comparable, Container, AssociativeContainer, UniqueAssociativeContainer und SimpleAssociativeContainer hin.

Erstelle jeweils eine umgangssprachliche Beschreibung der in ihnen ent- haltenen Requirements.

Welche Typen werden in /boost/concept check.hpp durch Templa- tespezialisierung als UnsignedInteger modellierend gekennzeichnet?

Was dient in der BCCL also als (nichtabbildender) Ersatz f¨ur die concept maps von ConceptC++?

Aufgabe 2. Concepts der SGI STL

Erstellen Sie eine Liste aller Konzepte in SGI STL

und skizzieren Sie deren Verfeinerungshierarchie.

Aufgabe 3. Lesen Sie das 2008 auf Konzepte hin ge¨anderte Kapitel 26 Draft N2736

des neuen C++-Standarts.

Weche Konzepte wurden innumeric concepts bereitgestellt? Wo wird ArithmeticLike, wo FloatingPointType benutzt? Warum?

Wie sehen die Requirements vonaccumulate() in 26.6, wie diejenigen von inner product() aus?

1

(2)

Aufgabe 4. Template binary Testen Sie:

template <unsigned long N>

struct binary {

static unsigned const value

= binary<N/10>::value * 2 // prepend higher bits

+ N%10; // to lowest bit

};

template <> // specialization

struct binary<0> // terminates recursion {

static unsigned const value = 0;

};

Was wird hier berechnet? Lassen Sie eine Tabelle berechneter Werte ausdrucken. Welche ¨ahnlichen Anwendungen von Templates erscheinen Ihnen n¨utzlich?

2

Referenzen

ÄHNLICHE DOKUMENTE

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de..

GAUSS-STRASSE 20 42119 WUPPERTAL TELEFAX (0202) 439-2901 TELEFON (0202) 439-0 WWW www.uni-wuppertal.de..

Schreiben Sie eine analog zu der Dokumentation der STL-Algorithmen (http://www.sgi.com/tech/stl/) aufgebaute Dokumentation Ihres ge- nerischen Algorithmus.

Schreiben Sie kurze Benutzungsanleitungen (Fallstudien) ¨uber den Um- gang mit statischen Bibliotheken: Hinzuf¨ugen einer neuen Objektdatei, ersetzen einer aktualisierten

Welcher ge- nerische Algorithmus ben¨otigt einen dieses Requirement erf¨ullenden Templateparameter.

Erg¨anzen Sie Ihre L¨osung von Aufgabe 2 um eine ¨ Uberpr¨ufung des Generischen Parameters InputIterator auf eben diese Eigenschaft (vgl.. 1.15.1 der Materialsammluing) und

Benutzen Sie das Template promote trait in einer Templatefunktion my_min und testen Sie es f¨ur mindestens 10 unterschiedliche Typpaare.. Schreiben Sie ein ¨ahnliches

Modifizieren Sie das Codest¨uck zu einer Klasse mit enum-result be- ziehungsweise zu einer normalen template-Funktion ohne enum oder static const. Welche Unterschiede stellen