dynamische String Array

Ich hätte es genauer schreiben sollen. Wenn ich einen Vector clear() e, dann wird der Speichern, den der Inhalt belegt hat automatisch freigeben, oder?
Falls Objekte im Vektor gespeichert sind (wie z.B. std::string), dann werden diese natürlich zerstört (d.h. deren Destruktor wird aufgerufen) und infolgedessen der Speicher den diese Objekte besaßen freigegeben. Was allerdings nicht freigegeben wird ist der Speicher den der Vektor besitzt um die Objekte zu speichern, das passiert erst wenn der Vektor selbst zerstört wird.

C++:
std::vector<std::string> v(10); // Vektor mit 10 leeren Strings
v.clear();

v.size(); // == 0
v.empty(); // == true
v.capacity(); // >= 10
Eine generelle Frage hätte ich noch. Ist es nicht Sinnvoll, wenn ich den Code jetzt Stückweise auf C++ umstelle (also den Vector verwenden), als das ganze weiter in C zu pflegen?
Also wenn du schonmal C++ nutzen kannst / darfst, würde ich es auch verwenden.

Gruß
 
Zurück