Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile
Abbiamo provato a fondo il nuovo Magic 8 Lite di HONOR, e per farlo siamo volati fino a Marrakech , dove abbiamo testato la resistenza di questo smartphone in ogni condizione possibile ed immaginabile. Il risultato? Uno smartphone praticamente indistruttibile e con un'autonomia davvero ottima. Ma c'è molto altro da sapere su Magic 8 Lite, ve lo raccontiamo in questa recensione completa.
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora
WF-1000X M6 è la sesta generazione di auricolare in-ear sviluppata da Sony, un prodotto che punta a coniugare facilità di utilizzo con una elevata qualità di riproduzione dei contenuti audio e una cura nella riduzione del rumore ambientale che sia da riferimento
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI
Snowflake ha presentato diverse novità per la sua piattaforma legate all'intelligenza artificiale. Quella forse più eclatante è una collaborazione con OpenAI, ma non mancano diverse nuove funzionalità che rendono la piattaforma più flessibile e in grado di rispondere meglio alle esigenze in continuo cambiamento delle aziende
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-02-2005, 21:35   #1
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
[C - C++]Allocazione dinamica della memoria, differenza

Ciao a tutti, guardando il mio nuova manuale di C++ ho visto il nuovo metodo di allocazione dinamica della memoria e mi è subito venuto un dubbio
prima in C facevo così:
Codice:
#include <calloc.h>
...
double *p = NULL;
...
p = (double *) calloc(10, sizeof(double));
cfree(p);
ora invece in C++ farei così:
Codice:
...
double *p = NULL;
...
p = new double[10];
...
delete p;
e se volessi variare la dimensione della memoria allocata dinamicamente???
prima facevo così:
Codice:
p = realloc(p, _msize(p) + (5 * sizeof(double));
ma ora come posso fare???

Ultima modifica di sirus : 01-03-2005 alle 15:07.
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 28-02-2005, 23:59   #2
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Re: [C - C++]Allocazione dinamica della memoria, differenza

Quote:
Originariamente inviato da sirus
ma ora come posso fare???
Non si fa'
O meglio, non si fa come in C, ma in maniera "piu' lenta", perche' in C++ hai a che fare con oggetti che non possono in generale essere copiati bit a bit. Per questo motivo non esiste alcun modo in C++ standard per reallocare la memoria "in place" come in C.

Finita la teoria, ora la pratica.

Codice:
double* arrayOfDouble = new double[10];

...

// alloca un nuovo array
double* newArrayOfDouble = new double[20];

// copia il vecchio array in quello nuovo
for (unsigned int i = 0; i < 10; ++i)
{
  newArrayOfDouble[i] = arrayOfDouble[i];
}

// cancella il vecchio array
delete[] arrayOfDouble;

// cambia nome al nuovo array
arrayOfDouble = newArrayOfDouble;
E' un po' piu' macchinoso e lento della versione equivalente C, ma e' sicuro che funzioni per ogni tipo di oggetto C++.
Se vuoi una versione piu' concisa puoi usare STL.
fek è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2005, 13:31   #3
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
grazie per le info posso concludere che con il C++ la semplicità è aumentata ma la flessibilità è diminuita a fronte di un minor numero di errori
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2005, 14:35   #4
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ci tengo a precisare che in C++ è ancora possibile utilizzare malloc realloc e free, quindi puoi utilizzare realloc solo se il blocco l'hai allocato con malloc, non con new; in teoria potresti anche con new, ma è meglio di no.
ciao
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2005, 14:36   #5
71104
Bannato
 
L'Avatar di 71104
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 7029
ah, ovviamente vale anche per calloc
71104 è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2005, 15:06   #6
sirus
Senior Member
 
Iscritto dal: Mar 2004
Messaggi: 16053
Quote:
Originariamente inviato da 71104
ci tengo a precisare che in C++ è ancora possibile utilizzare malloc realloc e free, quindi puoi utilizzare realloc solo se il blocco l'hai allocato con malloc, non con new; in teoria potresti anche con new, ma è meglio di no.
ciao
beh questa era ovvio
sirus è offline   Rispondi citando il messaggio o parte di esso
Old 01-03-2005, 16:44   #7
cionci
Senior Member
 
L'Avatar di cionci
 
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
Oppure usi vector e ti sbatti altamente dell'allocazione...
cionci è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Recensione HONOR Magic 8 Lite: lo smartphone indistruttibile e instancabile Recensione HONOR Magic 8 Lite: lo smartphone ind...
Sony WF-1000X M6: le cuffie in-ear di riferimento migliorano ancora Sony WF-1000X M6: le cuffie in-ear di riferiment...
Snowflake porta l'IA dove sono i dati, anche grazie a un accordo con OpenAI Snowflake porta l'IA dove sono i dati, anche gra...
Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo MSI Sistema Mesh Roamii BE Pro: il Wi-Fi 7 secondo M...
Recensione HUAWEI Mate X7: un foldable ottimo, ma restano i soliti problemi Recensione HUAWEI Mate X7: un foldable ottimo, m...
Xiaomi 17 Ultra promosso da DXOMARK ma i...
iPad Mini: nuova generazione in arrivo, ...
Offerta TOP: Xiaomi Redmi Note 15 Pro 5G...
POCO X8 Pro: confermate le specifiche de...
Nothing 'cancella' Apple e annuncia la d...
Ora è ufficiale: anche Steam Deck...
2 tablet 8GB/256GB Full HD e 4G LTE in s...
Paramount non molla Warner Bros: ha 7 gi...
Hyundai: spunta un'elettrica estremament...
Una connessione diretta con AWS European...
La Toyota Yaris avrà una versione...
Minori sessualizzati da Grok: l'UE mette...
NIO stabilisce il nuovo record di scambi...
Dell Private Cloud sempre più ape...
Ennesimo incidente per la guida autonoma...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 09:28.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v