• Keine Ergebnisse gefunden

c.seepold@uni-wuppertal.de WS2010/2011–¨Ubungsblatt1117.Januar2011Abgabe:bis24.Januar2011an GenerischeProgrammierung(SpezielleKapitelderpraktischenInformatik)

N/A
N/A
Protected

Academic year: 2022

Aktie "c.seepold@uni-wuppertal.de WS2010/2011–¨Ubungsblatt1117.Januar2011Abgabe:bis24.Januar2011an 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 2010/2011 – ¨ Ubungsblatt 11 17. Januar 2011

Abgabe: bis 24. Januar 2011 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. static assert

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 in C++ zur Ubersetzungszeit ausgewertete Funktion¨ sizeof().

Wann wird die sizeof()-Funktion in C99 ausgewertet?

Aufgabe 2. Konzepte

Erstellen Sie eine ¨Ubersicht der Konzepte in Concept-Web.

Was entdecken Sie neues?

Aufgabe 3. Foundational Concepts for the STL

Verfahren Sie analog mit den im Dokument

”Foundational Concepts for the C++0x Standard Library“

(http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2774.pdf) genannten Konzepten.

Aufgabe 4. 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).

Wie k¨onnen Sie T auf FloatingPointLike-Typen einschr¨anken?

1

Referenzen

ÄHNLICHE DOKUMENTE

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

Wozu werden im C++-Draft N3126 in Abschnitt 20.7 UnaryTypeTraits und wozu BinaryTypeTraits benutzt. Lesen Sie

Warum kann in C++ der Typ des Funktionsergebnisses nicht zur Un- terscheidung weiterer ¨uberladener Funktionsvarianten benutzt werden. Welche Abk¨urzungen werden im GNU3-Mangling

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

Statten Sie die Templatefunktion arithAverage(T1 x, T2 y) (Auf- gabe 1/Blatt 6) mit eigenen Boost-Concepts aus und benutzen Sie das Makro BOOST CONCEPT REQUIRE() zur Erzwingung

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

Erstellen Sie eine ¨ Ubersicht der von Ihnen gefundenen Policies und der Ihnen w¨unschenswert erscheinenden Auspr¨agungen dieser Policies.