• Keine Ergebnisse gefunden

c.seepold@uni-wuppertal.de WS2010/2011–¨Ubungsblatt813.Dezember2010Abgabe:bis20.Dezember2010an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)

N/A
N/A
Protected

Academic year: 2022

Aktie "c.seepold@uni-wuppertal.de WS2010/2011–¨Ubungsblatt813.Dezember2010Abgabe:bis20.Dezember2010an 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 2010/2011 – ¨ Ubungsblatt 8 13. Dezember 2010

Abgabe: bis 20. Dezember 2010 an c.seepold@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. 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?

Aufgabe 2. Metaprogrammierung Lesen Sie

http://divyekapoor.blogspot.com/2008/07/walking-through-your-first-template.html und testen Sie das Fibonacci-Beispiel.

Welche Einsatzgebiete sieht der Autor f¨ur Metaprogrammierung?

Welche Einsatzgebiete sehen Sie?

1

(2)

Aufgabe 3. boost/concept check.hpp

Lesen Sie den Inhalt der Datei

”boost/concept check.hpp“.

Was unterscheidet das Konzept Comparable vom Konzept SGIComparable? Wie unterscheiden sich RandomAccessContainer und Mutable RandomAccessContainer voneinander?

Erstellen Sie eine ¨Ubersicht zu den garantiert vorhandenen Operationen aller Container gem¨aß der

”Container Checking Classes“.

Aufgabe 4. CONCEPT CHECK REQUIRES()

Erg¨anzen Sie die generischen Funktionen my min(-), arith average(-,-) und geomMittel2(-,-) der letzten ¨Ubungs- bl¨atter um die ¨Uberpr¨ufung geeignet gew¨ahlter Konzepte.

Provozieren Sie Konzeptverletzungen bei der Template-Instantiierung:

Welche Fehlermeldungen werden erzeugt?

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..

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..

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..

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

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