Wie konvertiert man einen vectorchar * in einen Vektorstring / string

8

Wir haben eine Legacy-Methode, die vector von Zeichenzeigern, d. h. vector<char *> , zurückgibt. Jetzt muss ich nur Zeichenfolgen verarbeiten ( std::string ). Wie kann ich das tun?

Diese Frage klingt vielleicht einfach, aber ich stoße auf einige Websites, die zeigen, dass diese Überlegungen zu Speicherlecks führen können.

Nun möchte ich entweder eine vector<string> oder gar eine Zeichenfolge ohne Speicherlecks bekommen. Wie kann ich das tun?

    
Pavan 01.08.2011, 15:32
quelle

3 Antworten

0

Nun, abhängig von den Leistungsanforderungen könnten Sie einfach ein std::string nach Bedarf erstellen. So:

%Vor%     
Evan Teran 01.08.2011, 15:36
quelle
20

Die Konvertierung ist ziemlich einfach:

%Vor%

Sobald Sie das getan haben, müssen Sie noch sicherstellen, dass die Objekte, auf die die Zeiger in ugly_vector zeigen, korrekt zerstört sind. Wie Sie das tun, hängt von dem alten Code ab, den Sie verwenden.

    
James McNellis 01.08.2011 15:35
quelle
2

Verwenden Sie std::copy :

%Vor%     
Constantinius 01.08.2011 15:36
quelle

Tags und Links