Funktion verbessern
-
Hi,
ich möchte gerne eine Funktion verbessern weis aber net was man daran noch verbessern könnte, drum frag ich mal ob man da überhaupt noch etwas optimieren kann
std::vector<std::string> explode (std::string &input, std::string::value_type sign) { std::vector<std::string> temp; std::string::const_iterator i = input.begin(); while(true) { std::string::const_iterator c = i; i = std::find(i, input.end(), sign); temp.push_back(stD::string::value_type(c, i)); if(i == input.end()) break; ++i; } return (temp); }
In diesem Sinne,
auf wiedersehen
-
Übergib input als konstante Referenz, dann machen die const_iterator mehr Sinn.
Kann es sein, dass die Funktion nicht funktioniert, wenn input leer ist (also input.begin() gleich input.end() ist)?
-
Die Funktion legt den Vector zwei Mal an, einmal am Anfang in der Funktion und danach via Copy ctor.
Besser wäre es, wenn du das Resultat für die Funktion als Referenz-Parameter übergibst, damit du nur einmal anlegen musst.MfG MAV