Breymann. C++ Einführung und professionelle Programmierung

Breymann. C++ Einführung und professionelle Programmierung Breymann. C++ Einführung und professionelle Programmierung

vred.bioinf.uni.sb.de
von vred.bioinf.uni.sb.de Mehr von diesem Publisher
17.11.2014 Aufrufe

noch fehlende Implementierungen, int-Parameter wird nicht benutzt template const T& simpleStack::top() const { assert(!empty()); return array[anzahl-1]; } template void simpleStack::pop() { assert(!empty()); --anzahl; } template void simpleStack::push(const T &x) { assert(!full()); array[anzahl++] = x; } #endif // simstack2_t Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 294 zurück Ende

Nur die Deklarationen in einem Anwendungsprogramm sind ebenfalls zu modifizieren, die Benutzung bleibt sonst gleich: // ein int-Stack mit max. 100 Elementen: simpleStack einIntStack; // Stack füllen int i; while(!einIntStack.full()) { } cin >> i; einIntStack.push(i); // ein char-Stack mit max. 9 Elementen simpleStack einCharStack; // ... Weil die Größe size nicht dem Objekt, sondern dem Template übergeben wurde, ist die Größe eines simpleStack schon zur Übersetzungszeit bekannt, so dass simpleStack-Objekten statisch Speicherplatz zugeteilt wird, also ohne Rückgriff auf den dynamischen Speicher. Daraus ergibt sich ein Laufzeitvorteil. Breymann C++, c○ Hanser Verlag München Inhalt ◭◭ ◭ ◮ ◮◮ 295 zurück Ende

Nur die Deklarationen in einem Anwendungsprogramm sind ebenfalls<br />

zu modifizieren, die Benutzung bleibt sonst gleich:<br />

// ein int-Stack mit max. 100 Elementen:<br />

simpleStack einIntStack;<br />

// Stack füllen<br />

int i;<br />

while(!einIntStack.full()) {<br />

}<br />

cin >> i;<br />

einIntStack.push(i);<br />

// ein char-Stack mit max. 9 Elementen<br />

simpleStack einCharStack;<br />

// ...<br />

Weil die Größe size nicht dem Objekt, sondern dem Template übergeben<br />

wurde, ist die Größe eines simpleStack schon zur Übersetzungszeit<br />

bekannt, so dass simpleStack-Objekten statisch Speicherplatz zugeteilt<br />

wird, also ohne Rückgriff auf den dynamischen Speicher. Daraus<br />

ergibt sich ein Laufzeitvorteil.<br />

<strong>Breymann</strong> <strong>C++</strong>, c○ Hanser Verlag München<br />

Inhalt ◭◭ ◭ ◮ ◮◮ 295 zurück Ende

Hurra! Ihre Datei wurde hochgeladen und ist bereit für die Veröffentlichung.

Erfolgreich gespeichert!

Leider ist etwas schief gelaufen!