Torna indietro   Hardware Upgrade Forum > Software > Programmazione

NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine
Dopo anni di attesa e una lunga fase di sviluppo, Noctua entra nel mercato dei dissipatori a liquido AIO con la nuova serie NL-LC1. Forte dell'esperienza maturata nel raffreddamento ad aria, l'azienda austriaca promette di portare la propria filosofia fatta di qualità costruttiva, attenzione ai dettagli e silenziosità anche in questo segmento. Abbiamo provato il nuovo sistema per scoprire se riesce a distinguersi in un mercato ormai molto competitivo.
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super
Arrivato sul mercato italiano a fine marzo, la serie Boox Go 10.3 (Gen II) offre Android 15, penna da 4096 livelli e retroilluminazione opzionale (nel modello da noi provato, Lumi, presente). La serie si compone di due tablet ePaper che fanno da e-reader, blocco note digitale e persino browser, tutto a un prezzo che fa dimenticare i prodotti di brand più blasonati
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 28-07-2005, 17:14   #1
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
[C++] allocare memoria dinamica per un oggetto

è possibile utilizzare un costruttore e un distruttore per allocare e liberare memoria dinamica?

se si, come si fa?

grazie
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 17:27   #2
RaouL_BennetH
Senior Member
 
L'Avatar di RaouL_BennetH
 
Iscritto dal: Sep 2004
Messaggi: 3967
Quote:
Originariamente inviato da 19semplicemente
è possibile utilizzare un costruttore e un distruttore per allocare e liberare memoria dinamica?

se si, come si fa?

grazie
io non lo so, ma posso provare a passarti un link che ho trovato:

http://www.bo.cnr.it/corsi-di-inform...ldinamica.html
__________________
Dai wafer di silicio nasce: LoHacker... il primo biscotto Geek
RaouL_BennetH è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 17:46   #3
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
il mio prof se non erro, ad un esame chiese di scrivere un costruttore e un distruttore per allocare e liberare memoria.. ma non so come fare.. ne da dove iniziare...
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 18:43   #4
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 19semplicemente
è possibile utilizzare un costruttore e un distruttore per allocare e liberare memoria dinamica?

se si, come si fa?

grazie

Non solo e' possibile, ma e' molto consigliato.

Stabilisci una regola per te stesso che recita: "l'oggetto che alloca della memoria o crea un altro oggetto deve anche occuparsi della loro distruzione".
fek è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 18:46   #5
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
e come si fa?! puoi aiutarmi?
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 18:51   #6
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 19semplicemente
e come si fa?! puoi aiutarmi?
Certo.

Codice:
class SimpleIntVector
{
 
public:

  SimpleIntVector(int size)
  {
     mData = new int[size];
  }

  ~SimpleIntVector()
  {
     delete[] mData;
  }

  int* GetData(void) const
  {
     return mData;
  }

private:
  int* mData;  
};
Ehm... GetData() non e' molto elegante, ma ho troppo sonno per scrivere il resto del codice

Perche' uso delete[] e non delete?
fek è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 18:56   #7
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
xkè è un vettore...
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 18:57   #8
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
e se fossero stringhe come sarebbe?
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 19:11   #9
fek
Senior Member
 
L'Avatar di fek
 
Iscritto dal: Oct 2002
Città: San Jose, California
Messaggi: 11794
Quote:
Originariamente inviato da 19semplicemente
xkè è un vettore...
E' un esempio.

Quote:
Originariamente inviato da 19semplicemente
e se fossero stringhe come sarebbe?
Codice:
char* aString = new char[100];

// ...

delete[] aString;
fek è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 19:20   #10
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
ho scritto questo programmino.. e funziona.. però ho un dubbio..

scusa la domanda: ma a questo punto lui continua ad allocare ogni volta ch io creo un oggetto. cioè scrivere
Quote:
char *nome = new char[50];
significa dire al compilatore che sino a quando vive quell'oggetto lui deve allocare dinamicamente nome, giusto?


Quote:
#include <iostream>
#include <new>

using namespace std;

class prova{
private:
char* nome, *cognome;

public:

prova(char *n, char *c)
{
nome = new char[20];
cognome = new char[20];

nome = n;
cognome = c;

cout << nome << " " << cognome;
}

~prova()
{
delete[] nome;
delete[] cognome;
}


};

int main(){
prova uno("ciao", "mamma");

return 0;
}
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 19:31   #11
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da 19semplicemente
ho scritto questo programmino.. e funziona.. però ho un dubbio..

scusa la domanda: ma a questo punto lui continua ad allocare ogni volta ch io creo un oggetto. cioè scrivere

significa dire al compilatore che sino a quando vive quell'oggetto lui deve allocare dinamicamente nome, giusto?
quetso significa che appena crei un istanza della classe, le variabili membro sono allocate dinamicamente e devono essere necessariamente deallocato com ti ha detto fek (questo grazie al distruttore che hai fatto).
altro discorso poi ha l'allocazione dinamica di oggetti.
ciauz
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 19:33   #12
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
ah ti consiglio di usare la classe string quando implementi programmi con stringhe. è molto flessibile come classe e ti risparmi le complicazioni anche di leggibilità deggli array di char
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2005, 22:49   #13
19semplicemente
Senior Member
 
Iscritto dal: Feb 2004
Città: Bari
Messaggi: 373
non l'ho mai vista come classe.. come funziona?
19semplicemente è offline   Rispondi citando il messaggio o parte di esso
Old 29-07-2005, 10:37   #14
ghiotto86
Senior Member
 
L'Avatar di ghiotto86
 
Iscritto dal: Jul 2004
Città: Napoli
Messaggi: 2029
Quote:
Originariamente inviato da 19semplicemente
non l'ho mai vista come classe.. come funziona?
bhe è molto semplice da usare anche perchè ci sono dei metodi particolare per manipolare le stringhe.

http://www.msoe.edu/eecs/ce/courseinfo/stl/string.htm

vai qui c'è tutto quello che devi sapere
ghiotto86 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
Intel 18A-P è già in fase ...
Logitech G305 Lightspeed e G316 X 98: 8....
Qualcomm Snapdragon Reality Elite uffici...
Snapdragon START: arriva la piattaforma ...
Kioxia Exceria G3: il modella da 4 TB &e...
Gemini 3.5 Flash delude nei test Android...
DREAME X50 Ultra Complete a 749€ per il ...
Prezzi console handheld alle stelle: la ...
Toyota presenta il primo pickup elettric...
Prime Day anticipato, tutti gli smartpho...
Dyson V10 Konical: il primo aspirapolver...
FSR 4.1 su Radeon 6000, AMD spiega perch...
Hisense svela la gamma TV 2026: RGB Mini...
Narwal lancia gli sconti Prime Day 2026:...
SpaceX ha comprato Cursor: accordo da 60...
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: 23:28.


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