Was ist der Zweck und die Verwendung von 'memory_resource'?

8

Der Standard C++17 enthält einen neuen Namespace pmr mit einer Gruppe von Klassen, die unter dem Namen memory_resource gruppiert sind.

Nach einer Suche im Internet fand ich sehr wenig vulgarisierte Informationen darüber, die direkte Konsequenz ist diese Frage:

Was sind die Hauptideen hinter pmr und besonders pmr::memory_resource ?

Spezialisiert ein bisschen mehr auf die Frage, einige der Fragezeichen in meinem Kopf sind:

  • Was bringt es neu oder welche Grenzen hat es gelöst?
  • Was ist der Unterschied zu allocator ?
  • Bedeutet polymorph, dass es möglich ist, die für einen Containerkonstruktor bereitgestellte allocator Laufzeit auszuwählen? (z. B. für Testzwecke)
  • Hilft es bei der Implementierung von Speicherpool- oder anderen Speicherverwaltungsschemata?

Kontext:

Um einen memory pool allocator zu erstellen, habe ich Informationen über diesen Namespace gefunden. Namen wie pool_options oder polymorphic_allocator haben meine Aufmerksamkeit erregt.

Verwandte Fragen:

polymorphic_allocator: wann und warum sollte ich es verwenden?

  

HINWEIS: Verknüpfte Fragen implizieren keinen impliziten Anspruch auf Duplizierung.

    
Adrian Maire 28.06.2017, 09:58
quelle

0 Antworten

Tags und Links