2014-06-30 11 views
7

Wenn wir ein neues Element in eine std::deque einfügen, kann es einen neuen Chunk zuweisen, um das Element zu enthalten, wenn die vorhandenen Chunks alle voll sind.Wie steuert man die Chunk-Größe von `std :: deque` beim Zuweisen eines neuen Chunks?

Wie steuert jedoch die Implementierung die Chunk-Größe?

Ist es für den Benutzer möglich, die Chunk-Größe zu steuern? oder es hängt nur von der Wahl der Implementierung ab, z.B. 4K oder 8K?

+6

Es ist die Implementierung definiert - es gibt keine (tragbare) Möglichkeit, es zu kontrollieren. –

+0

Sie müssen Ihre eigenen schreiben ... –

+0

Sie können benutzerdefinierte Zuweiser für die Vorbelegung liefern. –

Antwort

0

Dies ist ein gewählter Wert der Implementierung, und es gibt keine Kontrolle darüber.

Zum Beispiel Microsoft wählen Sie Werte von 16 oder kleiner für die Anzahl der Elemente in einem Block. (Suche nach _DEQUESIZ).