PDA

View Full Version : [c++] spiegazione riga di codice


rudelcu
14-03-2009, 11:56
ciao mi sapreste spiegare le seguenti righe di codice per favore?


char vettore[9];
int a, b;
a = vettore [0];
a+ = vettore [1] << 8;
a+ = vettore [2] << 16;
a+ = vettore [3] << 24;
b = vettore [4] + vettore [5] * 256 + vettore [6] * 256 * 256 + vettore [7] * 256 * 256 * 256;


in particolare l'operatore << non capisco cosa fa.
grazie

rudelcu
14-03-2009, 13:00
grazie comunque ho capito le prime righe di codice e cioè:
con a+=vettore[1]<<8 ho aggiunto vettore[8] shiftato di 8 bit alla variabile a e così via..

ora vorrei sapere solo cosa fanno queste 2 funzioni per favore:

memcpy (&a, vettore, sizeof (int));
memcpy (&b, &vettore [4], sizeof (int));

.::Gohaneri::.
14-03-2009, 14:25
Dovrebbero copiare le cose puntate dal secondo puntatore nel primo specificando anche la grandezza

rudelcu
14-03-2009, 14:57
Dovrebbero copiare le cose puntate dal secondo puntatore nel primo specificando anche la grandezza

quindi il primo memcpy che ho scritto mi restituisce un alias di a con il contenuto di vettore di lunghezza di un int?

Don[ITA]
14-03-2009, 15:27
Memcpy (http://www.cplusplus.com/reference/clibrary/cstring/memcpy.html)

:)

Saluti

cionci
15-03-2009, 13:39
quindi il primo memcpy che ho scritto mi restituisce un alias di a con il contenuto di vettore di lunghezza di un int?
Non è un alias, è un puntatore. & è l'operatore di dereference (almeno in questo caso). & serve per creare alias solo nelle dichiarazioni di variabili e nel passaggio di parametri ad un metodo/funzioni.