array füllen
-
ich arbeite an einem Programm in der sehr schnell ein Haufen Arrays gefüllt werden sollen.
dabei sind die arrays selten komplett gefülltjetzt hab ich mich gefragt, weleches dieser beiden schneller ist:
char dest[256] char source[256] fill(source); int numval for(int i=0;i<numval;i++){ dest[i]=source[i]; } //oder dest=source; }
-
Das zweite ist falsch. Ansonsten memcpy fuer chars.
-
dest = source funktioniert doch garnicht. (Es sei denn du würdest sinnvollerweise std::array oder std::vector nutzen.)
Um Speicherblöcken einen Wert zuzuweisen solltest du std::fill nutzen, um zu Kopieren std::copy.
-
alterbro schrieb:
dabei sind die arrays selten komplett gefüllt
char dest[256] char source[256]Du willst
std::vector, und wahrscheinlich sollte der Datentyp eherunsigned charsein?alterbro schrieb:
dest=source;Das geht nicht. Jetzt muss ich dich schon mal fragen, seit wann und womit du C++ lernst.
Wie wäre es denn hiermit?
char s[] = { 0,1,2,3,4,5,6,7,8,9 }; std::vector<char> source(s,s+10); std::vector<char> dest = source;
-
ja habs auch gerade gemerkt, sorry