stl-string
-
hi,
ich habe folgende Frage:
wie schaff ich es das ein stl-string für sein internes char* nur genaus soviel Speicher reserviert wie ich das will und nicht mehr. Mit reserve(int) wird doch mindestens soviel Speicher reserviert wie für die im Parameter angegebene Zeichenzahl, was soviel heißt wie meistens mehr oder?? Ich will aber nicht mehr sondern genau den Wert den ich haben will. Weiß jemand wie ich das bewerkstelligen kann?
Mfg
olla
-
Dafür müsstest du einen eigenen Allocator schreiben.
-
Der eigene Allocator kann aber nicht verhindern, dass der String sicherheitshalber etwas mehr anfordert.
-
für so spezielle anforderungen wäre eine eigene minimale stringklasse zu überlegen. ich persönlich schreibe mir manchmal minimale listenklassen (verkettet/ mit indizes, usw...) für den entsprechenden zweck, wenns auf performance ankommt.
-
Kannst ja mal resize probieren.