Speicherbereich von std::deque
-
Kurze Frage: Wo legt eine std::deque die Elemente ab, die man einfügt? Ist das der Heap oder der Stack?
Vielen Dank!
Keep smilin'
vi.p
-
Ich würde auf den Heap tippen (auf dem Stack ist definitiv nicht genug Platz).
(Genauer: deque<> verwendet den mitgegebenen Allocator, um Speicher anzufordern. Und der Default-Allocator verwendet new/delete)
-
Vielen Dank für die schnelle Antwort.
Das heißt, ich muss mir um Platzprobleme keine Sorgen machen und kann meine Elemente auf dem Stack anlegen, bevor ich sie der deque hinzufüge. Oder ist es besser nur Zeiger in der deque zu speichern und die Elemente sofort auf dem Heap anzulegen? (Ich bin noch relativ grün in der Benutzung der STL)
Keep smilin'
vi.p
-
Zeiger würde ich nicht empfehlen (jedenfalls nicht für einen Anfänger). Nimm die deque und pack deine Elemente da direkt drauf.