Benutzer:Koschi/Kontainer der STL

Aus Spieleprogrammierer-Wiki
(Unterschied zwischen Versionen)
Wechseln zu: Navigation, Suche
(Was ist ein Kontainer)
(Was ist ein Kontainer)
Zeile 1: Zeile 1:
 
In der Spieleentwicklung ist es oft nötig, ein gewisse Menge an identischen Daten zu verwalten. Um die Verwaltung der Daten nicht nicht von Grund auf selber zu programmieren bietet die '''S'''tandard '''T'''emplate '''L'''ibary eine umfangreiche Sammlung an Kontainern, die das Verwalten der Daten erheblich erleichtert. Die Arbeitsweise und wofür die Verschiedenen Kontainer sind soll in diesem Artikel näher beschrieben werden.
 
In der Spieleentwicklung ist es oft nötig, ein gewisse Menge an identischen Daten zu verwalten. Um die Verwaltung der Daten nicht nicht von Grund auf selber zu programmieren bietet die '''S'''tandard '''T'''emplate '''L'''ibary eine umfangreiche Sammlung an Kontainern, die das Verwalten der Daten erheblich erleichtert. Die Arbeitsweise und wofür die Verschiedenen Kontainer sind soll in diesem Artikel näher beschrieben werden.
 
== Was ist ein Kontainer ==
 
== Was ist ein Kontainer ==
Einen Kontainer kann man sich als Behältnis für Daten vorstellen. Das "befüllen" mit Daten hängt aber vom Konatainer selber ab. Bedingt  
+
Einen Kontainer kann man sich als Behältnis für Daten vorstellen. Es spielt dabei keine Rolle ob diese Daten Structs, Klassen oder eines der Grunddatentypen sind. Das "befüllen" mit Daten hängt aber vom Konatainer selber ab. Bedingt durch den Aufbau der Kontainer kann man diese in 3 Kategorien aufteilen:
durch den Aufbau der Kontainer kann man diese in 3 Kategorien aufteilen:
+
 
* Sequentielle Kontainer
 
* Sequentielle Kontainer
 
* Assoziative Kontainer
 
* Assoziative Kontainer
 
* Kontainer Adapter
 
* Kontainer Adapter
  
Es spielt dabei keine Rolle ob diese Daten Structs, Klassen oder eines der Grunddatentypen sind.
 
 
=== Sequentielle Kontainer ===
 
=== Sequentielle Kontainer ===
 
Die Daten in einem Sequentiellen Kontainer liegen in der Reihenfolge vor wie sie Eingefügt wurden. Das heist wurde ein Element als drittes hinzugefügt ist es auch später wieder an dieser stelle zu finden.
 
Die Daten in einem Sequentiellen Kontainer liegen in der Reihenfolge vor wie sie Eingefügt wurden. Das heist wurde ein Element als drittes hinzugefügt ist es auch später wieder an dieser stelle zu finden.
 
=== Assoziative Kontainer ===
 
=== Assoziative Kontainer ===
 +
Die Assoziative Kontainer können weiter unterteilt werden in maps und sets. Map-Kontainer besitzen ein Schlüssel-Werte-Paar, über den Schlüssel kann auf den Wert zugegriffen werden. Der Schlüssel darf dabei nur einmalig im Kontainer vorkommen.
 +
 
=== Kontaineradapter ===
 
=== Kontaineradapter ===
  
 
== Allgemeines ==
 
== Allgemeines ==

Version vom 19. November 2015, 20:56 Uhr

In der Spieleentwicklung ist es oft nötig, ein gewisse Menge an identischen Daten zu verwalten. Um die Verwaltung der Daten nicht nicht von Grund auf selber zu programmieren bietet die Standard Template Libary eine umfangreiche Sammlung an Kontainern, die das Verwalten der Daten erheblich erleichtert. Die Arbeitsweise und wofür die Verschiedenen Kontainer sind soll in diesem Artikel näher beschrieben werden.

Inhaltsverzeichnis

Was ist ein Kontainer

Einen Kontainer kann man sich als Behältnis für Daten vorstellen. Es spielt dabei keine Rolle ob diese Daten Structs, Klassen oder eines der Grunddatentypen sind. Das "befüllen" mit Daten hängt aber vom Konatainer selber ab. Bedingt durch den Aufbau der Kontainer kann man diese in 3 Kategorien aufteilen:

Sequentielle Kontainer

Die Daten in einem Sequentiellen Kontainer liegen in der Reihenfolge vor wie sie Eingefügt wurden. Das heist wurde ein Element als drittes hinzugefügt ist es auch später wieder an dieser stelle zu finden.

Assoziative Kontainer

Die Assoziative Kontainer können weiter unterteilt werden in maps und sets. Map-Kontainer besitzen ein Schlüssel-Werte-Paar, über den Schlüssel kann auf den Wert zugegriffen werden. Der Schlüssel darf dabei nur einmalig im Kontainer vorkommen.

Kontaineradapter

Allgemeines

Meine Werkzeuge
Namensräume
Varianten
Aktionen
Navigation
Werkzeuge