char Array ohne feste Größe wie?
-
MaxundTutorials schrieb:
Wenn du mir sagst wie das geht probier ich es mal
funktion(neuer_text.c_str());
-
Bzw. seit C++11
funktion(neuer_text.data());
Das ist allgemeiner.
-
Arcoth schrieb:
Das ist allgemeiner.
Was soll denn "allgemeiner" heissen?
Du verzichtest vor C++11 auf die Garantie, dass der String nullterminiert ist.
-
Nexus schrieb:
Du verzichtest vor C++11 auf die Garantie, dass der String nullterminiert ist.
... deswegen habe ich ja geschrieben, "seit C++11" (falls du dich auf den zweiten Edit beziehst).
Was soll denn "allgemeiner" heissen?
Allgemeiner heißt allgemeiner. Es funktioniert bspw. auch für
vector<char>
.
-
Arcoth schrieb:
Allgemeiner heißt allgemeiner. Es funktioniert bspw. auch für
vector<char>
.Wird emorm Spaß machen, ganz einfach nach vector<char> umzustellen und mangels Nullterminierung alles umzuschreiben.
Nö, hier bleibe ich bei c_str, weil ich das meine.
-
und mangels Nullterminierung alles umzuschreiben.
Oh...
-
Arcoth schrieb:
Bzw. seit C++11
funktion(neuer_text.data());
Das ist allgemeiner.
funktion(&*begin(neuer_text))
ist noch allgemeiner.
-
TyRoXx schrieb:
Arcoth schrieb:
Bzw. seit C++11
funktion(neuer_text.data());
Das ist allgemeiner.
funktion(&*begin(neuer_text))
ist noch allgemeiner.Aber auf die Art und Weise, die dich in Probleme bringt. Die data-Methode wird nämlich nur von Containern angeboten, bei denen dies Sinn macht (vector, string, array), wohingegen dieser Vorschlag hier bei allem funktioniert. Das heißt, auch bei nicht-kontinuierlichen Datenstrukturen - ohne jede Warnung.
-
Ich denke, TyRoXx wollte damit vor allem aufzeigen, dass "allgemeiner" hier ein schlechtes Argument ist
-
Jo Leute,
auf jeden Fall vielen dank mache es jetzt alles mit strings und wandel sie dann mit .c_str() und .str() so um wie ich sie brauche