1)Per matrici di grandi dimensioni quale è secondo voi la più conveniente?
P.S.
Le matrici sono bidimensionali.
2)Volevo poi sapere se le variabili di una struttura sono di default inizializzate a 0.
Grazie.
1)Per matrici di grandi dimensioni quale è secondo voi la più conveniente?
P.S.
Le matrici sono bidimensionali.
2)Volevo poi sapere se le variabili di una struttura sono di default inizializzate a 0.
Grazie.
1) Non ho capito... :master:
2) No, come tutte le variabili, i membri delle strutture non vengono inizializzati. L'unica eccezione si ha quando la variabile-struttura è una variabile globale.
Amaro C++, il gusto pieno dell'undefined behavior.
Originariamente inviato da MItaly
1) Non ho capito... :master:
2) No, come tutte le variabili, i membri delle strutture non vengono inizializzati. L'unica eccezione si ha quando la variabile-struttura è una variabile globale.
Se tu hai un programma che ad ogni ciclo usa una martice di zeri allocata dinamicamente...
-non potendo allocare tante matrici quanti sono i cicli del programma
-volendo necessariamente cominciare ogni ciclo con la matrice di zeri
Cosa faresti?
A) Reinizializzo la matrice con due cicli for annidati
B) libero la memoria allocata e la rialloco con una calloc (che alloca zeri)
A, visto che la calloc di fatto richiama malloc e poi azzera la memoria, per cui azzerandola manualmente ti risparmi il passaggio free/malloc.
Piuttosto che azzerarla con due for comunque potresti usare memset, che è particolarmente efficiente.
Amaro C++, il gusto pieno dell'undefined behavior.
grazie mille.
Di niente, ciao!![]()
Amaro C++, il gusto pieno dell'undefined behavior.