Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless
MSI FORGE GK600 TKL WIRELESS: switch lineari hot-swap, tripla connettività, display LCD e 5 strati di fonoassorbimento. Ottima in gaming, a 79,99 euro
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici
DJI porta un importante aggiornamento alla sua linea di gimbal camera tascabili con Osmo Pocket 4: sensore CMOS da 1 pollice rinnovato, gamma dinamica a 14 stop, profilo colore D-Log a 10 bit, slow motion a 4K/240fps e 107 GB di archiviazione integrata. Un prodotto pensato per i creator avanzati, ma che convince anche per l'uso quotidiano
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori
Il primo headset open-back della linea INZONE arriva a 200 euro con driver derivati dalle cuffie da studio MDR-MV1 e un peso record di soli 199 grammi
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 29-05-2007, 12:17   #1
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
[C++] gestione memoria.

Boungiorno come si evince dal titolo volevo chiarire dei miei dubbi sulla gestione della memoria in c++, iniziamo col dire che al contrario di come pensate la gestione dinamica è chiarissima, il problema sta nella gestione statica.

se io ho una classe del tipo :
Codice:
class Pippo
{
	Pluto _pluto;
}
il mio dubbio è al momento che instanzio Pippo, ho gia un'istanza di pluto?
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 12:24   #2
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da tglman Guarda i messaggi
Boungiorno come si evince dal titolo volevo chiarire dei miei dubbi sulla gestione della memoria in c++, iniziamo col dire che al contrario di come pensate la gestione dinamica è chiarissima, il problema sta nella gestione statica.

se io ho una classe del tipo :
Codice:
class Pippo
{
	Pluto _pluto;
}
il mio dubbio è al momento che instanzio Pippo, ho gia un'istanza di pluto?
si
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 12:45   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da tglman Guarda i messaggi
il mio dubbio è al momento che instanzio Pippo, ho gia un'istanza di pluto?
Premesso che il C++ non mi piace e lo conosco poco (ormai sono affetto da Javaite acuta ...), la risposta è sì, hai già una istanza. Dopotutto non potrebbe essere altrimenti, visto che non hai a che fare con un puntatore.

Se provi:
Codice:
#include <iostream>

using namespace std;

class Pippo
{
public:
    Pippo();
};

Pippo::Pippo (void)
{
    cout << "costruttore Pippo" << endl;
}

class Prova
{
private:
    Pippo p;
};

int main (void)
{
    Prova prova;

    return 0;
}
Stampa: costruttore Pippo
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 13:29   #4
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
Allora il dubbio adesso viene con le stringhe:

so ho:
Codice:
class Pippo
{
	private:
		std::string _name;
	public:
		Pippo(std::string name);
}

Pippo::Pippo(std::string name)
{
	_name=name;
}
cosa succede cosi ??
e se invece di std::string o il mio vecchio pluto che succede ??
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 15:01   #5
vizzz
Senior Member
 
L'Avatar di vizzz
 
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
Quote:
Originariamente inviato da tglman Guarda i messaggi
Allora il dubbio adesso viene con le stringhe:

so ho:
Codice:
class Pippo
{
	private:
		std::string _name;
	public:
		Pippo(std::string name);
}

Pippo::Pippo(std::string name)
{
	_name=name;
}
cosa succede cosi ??
e se invece di std::string o il mio vecchio pluto che succede ??
così inizializzi la stringa membro privata della classe non appena istanzi la classe, lo stesso per pluto.
__________________
ho concluso con: kvegeta, doctordb, Leland Gaunt.
vizzz è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 15:24   #6
tglman
Senior Member
 
Iscritto dal: Feb 2005
Città: Roma
Messaggi: 414
ok capito questo continuo con la lezione
quello di prima più questo.
Codice:
Pippo::setPluto(Pluto pluto)
{
	_pluto=pluto
}
che succede ??
tglman è offline   Rispondi citando il messaggio o parte di esso
Old 29-05-2007, 15:38   #7
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
Quote:
Originariamente inviato da tglman Guarda i messaggi
ok capito questo continuo con la lezione
quello di prima più questo.
Codice:
Pippo::setPluto(Pluto pluto)
{
	_pluto=pluto
}
che succede ??
Qui dipende ... facendo l'assegnazione per default vengono copiati tutti i campi della classe pari pari così come sono. Se però un campo è un puntatore ... ahi! Bisogna vedere cosa ci devi fare e come lo devi gestire. In questi casi si crea un "costruttore di copia", in modo da gestire la copia come si vuole realmente.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%)
andbin è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Tastiera gaming MSI GK600 TKL: switch hot-swap, display LCD e tre modalità wireless Tastiera gaming MSI GK600 TKL: switch hot-swap, ...
DJI Osmo Pocket 4: la gimbal camera tascabile cresce e ha nuovi controlli fisici DJI Osmo Pocket 4: la gimbal camera tascabile cr...
Sony INZONE H6 Air: il primo headset open-back di Sony per giocatori Sony INZONE H6 Air: il primo headset open-back d...
Nutanix cambia pelle: dall’iperconvergenza alla piattaforma full stack per cloud ibrido e IA Nutanix cambia pelle: dall’iperconvergenza alla ...
Recensione Xiaomi Pad 8 Pro: potenza bruta e HyperOS 3 per sfidare la fascia alta Recensione Xiaomi Pad 8 Pro: potenza bruta e Hyp...
Annunciata la tuta di volo di Vast che s...
Vast presenta il nuovo Large Docking Ada...
Una denuncia getta ombre sulle batterie ...
DJI Avata 2 Fly Smart Combo a 526€: il d...
Alla guida della nuova auto elettrica ci...
GeForce RTX 3060 12 GB a giugno di nuovo...
Apple Music sarà sponsor ufficiale di Po...
The Mandalorian & Grogu: trailer fin...
Fedeltà record: Apple blinda gli utenti,...
Volkswagen ID.3 Neo: fino a 630 km di au...
GPU-Z mette i dati personali a rischio? ...
La PS6 potrebbe essere retrocompatibile ...
Amazfit Cheetah 2 Pro arriva in Italia: ...
Duolingo ammette l'errore dopo un anno: ...
Samsung Galaxy Tab S10 Lite a 249€: il t...
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:36.


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