Heim > Backend-Entwicklung > C++ > Welchen C 11 Standard-Bibliothekscontainer sollte ich verwenden?

Welchen C 11 Standard-Bibliothekscontainer sollte ich verwenden?

Susan Sarandon
Freigeben: 2024-12-06 05:50:15
Original
328 Leute haben es durchsucht

Which C  11 Standard Library Container Should I Use?

Auswahl des optimalen C 11-Standardbibliothekscontainers

Der klassische Spickzettel „C-Container-Auswahl“ bietet Anleitung zur Auswahl des geeigneten Containers für bestimmte Nutzungsszenarien. Es fehlt jedoch eine aktualisierte Version für C 11.

Zum Ausgleich finden Sie hier einen Text-Workflow, der bei der Containerauswahl hilft:

1. Semantik zuerst

Assoziative Container:

  • Verwenden Sie assoziative Container, wenn Sie eine Suche nach einem einzelnen Schlüssel benötigen.
  • Wählen Sie „Geordnete Container“, um die Sortierung beizubehalten Elemente.
  • Für separate Schlüssel-Wert-Paare verwenden Sie Map; Für nur Schlüssel sollten Sie „Set“ in Betracht ziehen.
  • Duplikate mit „Multi“-Präfixen aktivieren.

Einfache Sequenzcontainer:

  • Auswählen ein geeigneter Behälter basierend auf den folgenden Kriterien:

2. Speicherstabilität

  • Verwenden Sie Listen, wenn Elemente während Containeränderungen im Speicher bleiben müssen.
  • Standardmäßig Liste; Verwenden Sie Forward_List nur, um den Speicherbedarf zu reduzieren.

3. Dynamische Größenanpassung

  • Verwenden Sie Arrays, wenn die Größe zur Kompilierungszeit bekannt ist und konstant bleibt und Elemente standardmäßig konstruierbar sind oder mit geschweiften Klammern initialisiert werden.

4. Doppelend

  • Wählen Sie Deque, wenn Sie Elemente an beiden Enden hinzufügen oder entfernen müssen.
  • Andernfalls entscheiden Sie sich für Vector.

Beispiele

Szenario:Abrufen von Personendaten basierend auf eindeutigen Angaben IDs.

  • Wir benötigen eine Suchfunktion (Assoziativer Container).
  • Reihenfolge ist irrelevant (Ungeordnet).
  • Schlüssel (IDs) sind von Werten (Karte) getrennt. .
  • Keine Duplikate (Nr "multi").

Ergebnis: std::unordered_map.

Hinweis: Wenn keine besonderen Einschränkungen vorliegen anwenden, Vector wird als Standardauswahl für einfache Sequenzcontainer empfohlen.

Das obige ist der detaillierte Inhalt vonWelchen C 11 Standard-Bibliothekscontainer sollte ich verwenden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage