@seahawk1986 asprintf() das kannte ich noch nicht, danke.
Das ist eine GNU-Extension, daher leider nur begrenzt portabel, aber extrem nützlich.
PS: Ich weiß nicht, ob du schon mal von Range-based for loops (gibt es seit C++11) gehört hast, damit kannst du oft den Code weiter vereinfachen und sparst dir den Zugriff auf Elemente über den Index - z.B. wenn du über einen kompletten Vector läufst und den jeweiligen Index für nichts anderes benötigst:
1 2 3 4 5 6 7 8 9 10 | #include <iostream> #include <string> #include <vector> int main() { std::vector<std::string> v {"foo", "bar", "baz"}; for (const auto &e: v) { std::cout << e << '\n'; } } |
PPS: statt const std::vector<std::string>* list
könnte man const std::vector<std::string>& list
nutzen, dann spart man sich im Code das Dereferenzieren des Pointers.