ganze Zeile kopieren

Gast #606512
Lesenswert?

Servus,

ich versuche gerade eine Matrix in eine andere zu kopieren.

Dabei soll die Zeile [i+1] in die Zeile [i] der anderen Matrix.
Beide haben die gleiche Anzahl Spalten.
also so:
1
for ( )
2
matrix1[i][ ] = matrix2[i+1][ ];

was muss in die zweite eckige Klammer, dass er die gesamten Spalten 
nimmt.
Ansonsten ist es eben Handarbeit...
Gast #607433
Lesenswert?

> ISt das eigentlich so die schnellste und effektivste Art, zu kopieren?

Es ist, was auch immer derjenige, der es implementiert hat, für am 
besten gehalten hat. Meistens wird eine für den Prozessor optimierte 
Variante verwendet, das ist in der Regel nicht schlechter, aber manchmal 
auch nicht besser als eine einfache for-Schleife.
Moderator Persönliche Seite #607773
Lesenswert?

Im `hosted mode' (-fhosted, das ist der Default) wird memcpy in der
Regel vom Compiler passend ersetzt.  Es ist dort also durchaus auch
legitim, einzelne Bytes mit memcpy() zu kopieren.  Wenn die Länge 1
zur Compilezeit feststeht, wird der Compiler keinen Aufruf an die
Funktion memcpy() codieren sondern das Byte selbst kopieren.

Logischerweise geht das nicht mehr mit -ffreestanding.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren