• Keine Ergebnisse gefunden

Farzin.Ghorban@studs.math.uni-wuppertal.de WS2012/2032–¨Ubungsblatt1117.Januar2013Abgabe:bis24.Januar2013an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)

N/A
N/A
Protected

Academic year: 2022

Aktie "Farzin.Ghorban@studs.math.uni-wuppertal.de WS2012/2032–¨Ubungsblatt1117.Januar2013Abgabe:bis24.Januar2013an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)"

Copied!
1
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/2032 – ¨ Ubungsblatt 11 17. Januar 2013

Abgabe: bis 24. Januar 2013 an

Farzin.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. Vorbedingungen in Templates

Demonstrieren Sie die Verfahrensweisen von Abschnitt 2.7, um die Template-Metafunktion fact (Aufgabe 3 von ¨Ubungsblatt 8) vor dem Aufruf mit einem negativen Templateparameter-Wert zu sch¨utzen. Tes- ten Sie!

Warum nennt man fact in diesem Zusammenhang eine Metafunktion und nicht einfach eine Funktion?

Aufgabe 2. Vorbedingungen in Templates: Fortsetzung

Demonstrieren Sie analog, wie Sie die Template-Metafunktion template<int n, int m> struct cpower::result gegen unsinnige Parameter absichern k¨onnen.

Aufgabe 3. Vorbedingungen in Templates: Fortsetzung 2

Demonstrieren Sie anlog, wie Sie die Template-Metafunktiontemplate

<unsigned long N> struct binary::value gegen einen unsinnigen Parameter absichern.

Aufgabe 4. N-Queens Lesen Sie

http://accu.org/index.php/journals/424

und referieren Sie die Anwendung der Metaprogrammierung f¨ur das N-Queens-Problem.

Testen Sie das Programm selbst aus. Was ist das Hauptproblem des Einsatzes von Compiletime-Metaprogrammen?

1

Referenzen

ÄHNLICHE DOKUMENTE

Demonstrieren Sie anlog, wie Sie die Template-Metafunktion template &lt;unsigned long N&gt; struct binary::value gegen einen unsinnigen

Demonstrieren Sie anlog, wie Sie die Template-Metafunktion template &lt;unsigned long N&gt; struct binary::value gegen einen unsinnigen Parameter absichern.

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

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

Demonstrieren Sie static assert() in einem Beispielprogramm, das nur compiliert werden kann, wenn Ihre C++-Sprachumgebung einen 4 Byte langen int-Typ besitzt. Benutzen Sie dabei die

Demonstrieren Sie die Benutzung von static assert(), um die Template-Metafunktion template &lt;unsigned long N&gt; struct binary::value gegen einen unsinnigen Parameter

Demonstrieren Sie static assert() in einem Beispielprogramm, das nur compiliert werden kann, wenn Ihre C++-Sprachumgebung einen 4 Byte langen int-Typ besitzt. Benutzen Sie dabei die