• Keine Ergebnisse gefunden

generische Programmierung

N/A
N/A
Protected

Academic year: 2022

Aktie "generische Programmierung"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Hans-Jürgen Buhl Praktische Informatik/Numerik Fakultät für

Mathematik und Naturwissenschaften, Mathematik und Informatik

E-MAIL buhl@math.uni-wuppertal.de WWW www.math.uni-wuppertal.de/~buhl DATUM 17. Januar 2018

generische Programmierung

WS 2017/2018 – Übungsblatt 11 Ausgabe: 18. Januar 2018

Abgabe bis 25. Januar 2018 an:mailto:gregor.hildebrand@uni-wuppertal.de

Aufgabe 1. p-Norm

Erstellen Sie einen generischen Algorithmus

template <int p = 2, typename InputIter, typename T>

T pNorm(InputIter first, InputIter last, T init) (vgl.http://de.wikipedia.org/wiki/Normierter_Raum).

Aufgabe 2. N-Queens Lesen Sie

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

und referieren Sie die Anwendung der Metaprogrammierung für das N-Queens-Problem.

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

Aufgabe 3. Vorbedingungen in Templates

Demonstrieren Sie die Verfahrensweisen von Abschnitt 2.7, um die Template-Metafunktion fact(Aufgabe 1 von Übungsblatt 9) vor dem Aufruf mit einem negativen Templateparameter- Wert zu schützen. Testen Sie!

Warum nennt manfactin diesem Zusammenhang eine Metafunktion und nicht einfach eine Funktion?

Aufgabe 4. Vorbedingungen in Templates: Fortsetzung

Demonstrieren Sie analog, wie Sie die Template-Metafunktion template<int n, int m>

struct cpower::resultgegen unsinnige Parameter absichern können.

Aufgabe 5. Vorbedingungen in Templates: Fortsetzung 2

Demonstrieren Sie anlog, wie Sie die Template-Metafunktiontemplate <unsigned long N> struct binary::valuegegen einen unsinnigen Parameter absichern.

Referenzen

ÄHNLICHE DOKUMENTE

Falls S ein Supertyp von T ist, dann ist A&lt;S&gt; weder ein Subtyp von A&lt;T&gt; noch ein Supertyp.. Kovarianz, Kontravarianz und Invarianz Kovarianz, Kontravarianz

A face object is represented by the appearance of the eyes, nose and mouth, and a shape model that code how these parts can deform.. A body object is represented by the appearance of

In part 3 of the 3-D skills model the tutor encourages the student to repeat the corrected auscultation component, without prompting, but offering corrective coaching

Beschreiben Sie umgangssprachlich in eigenen Worten die einzelnen Requirements des Kon- zepts InputIterator in Library Concepts: Iterator Welche Konzepte müssen die dem Ite-

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

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

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

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