[Corsopoc] dubbio amletico su new
Riccardo Moja
rikros@inwind.it
Wed, 8 Jan 2003 21:53:16 +0100
This is a multi-part message in MIME format.
------=_NextPart_000_0020_01C2B760.59447FC0
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
salve a tutti, =E8 gi=E0 da un anno (da quando ho fatto fondamenti 1) =
che un dubbio corrode la mia povera mente, un dubbio cos=EC incredibile =
quanto (almeno penso) stupido.
allora, in c++ ci sono new e delete, in java solo new e va bene. new mi =
serve per gestire la memoria dinamicamente, ma sinceramente io non ne ho =
ancora capito l'utilit=E0.
cio=E8 supponiamo che io dobba creare una applicazione per una banca, la =
quale deve solo registrare il cognome di una persona e quanti soldi ha =
la persona,
faccio una classe persona con un array nome[xx] e un int per tenere il =
conto dei soldi e poi tutti i metodi che servono per gestire queste =
variabili, (per aggiungere i soldi, prelevarli, mostrare il conto ecc =
ecc).
Per=F2 io voglio che questa applicazione funzioni in questo modo:
all'inizio nel "database" delle persone non c'=E8 niente
Poi una persona arriva alla banca e apre un conto, quindi nel database =
ci va una persona=20
poi ne arriva un'altra e nel database ci sono 2 persone
e cos=EC via...
per fare questo senza gestire dinamicamente la memoria io potrei fare un =
array di tipo persona
persona elenco [1000];
cos=EC per=F2 mi occupa subito la memoria per 1000 persone (dato ke gli =
oggetti sono stati effettivamente creati).
ma se io volessi fare in modo che quando non ci sono persone la memoria =
usata fosse 0?
e quando ci fossero 4 persone la memoria usata fosse 4?
da quello ke ho capito new serve a questo, ma non ho capito in che modo =
si possa usare per ottenere un simile risultato.
Devo usare gli array?
Devo farlo tramite qualche metodo particolare?
Oppure dovrei smetterla di drogarmi?
mah...
spero che qualche buon'anima mi illumini al riguardo
=20
------=_NextPart_000_0020_01C2B760.59447FC0
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML xmlns:o =3D "urn:schemas-microsoft-com:office:office" xmlns:w =3D=20
"urn:schemas-microsoft-com:office:word"><HEAD>
<META content=3D"text/html; charset=3Diso-8859-1" =
http-equiv=3DContent-Type><BASE=20
href=3D"file://C:\Programmi\File comuni\Microsoft Shared\Elementi =
decorativi\">
<META content=3DWord.Document name=3DProgId>
<META content=3D"Microsoft Word 9" name=3DGenerator>
<META content=3D"Microsoft Word 9" name=3DOriginator><LINK=20
href=3D"./Bianco_file/filelist.xml" rel=3DFile-List><!--[if gte mso =
9]><xml>
<o:DocumentProperties>
<o:Author>Riccardo Moja</o:Author>
<o:LastAuthor>Riccardo Moja</o:LastAuthor>
<o:Revision>2</o:Revision>
<o:TotalTime>1</o:TotalTime>
<o:Created>2002-09-02T16:02:00Z</o:Created>
<o:LastSaved>2002-09-02T16:03:00Z</o:LastSaved>
<o:Pages>1</o:Pages>
<o:Company>Unknown Organization</o:Company>
<o:Lines>1</o:Lines>
<o:Paragraphs>1</o:Paragraphs>
<o:Version>9.2812</o:Version>
</o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument>
<w:HyphenationZone>14</w:HyphenationZone>
</w:WordDocument>
</xml><![endif]-->
<STYLE>BODY {
BACKGROUND-POSITION: 0% 0%; BACKGROUND-REPEAT: no-repeat; COLOR: =
#000000
}
P.MsoNormal {
FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
LI.MsoNormal {
FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
DIV.MsoNormal {
FONT-FAMILY: "Times New Roman"; FONT-SIZE: 12pt; MARGIN: 0cm 0cm 0pt; =
mso-style-parent: ""; mso-pagination: widow-orphan; =
mso-fareast-font-family: "Times New Roman"
}
DIV.Section1 {
page: Section1
}
</STYLE>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR>
<META content=3D"MSHTML 5.00.2614.3500" name=3DGENERATOR></HEAD>
<BODY bgColor=3D#ffffff lang=3DIT style=3D"tab-interval: 35.4pt">
<DIV style=3D"FONT: 10pt arial"></DIV>
<DIV> </DIV>
<DIV>salve a tutti, =E8 gi=E0 da un anno (da quando ho fatto fondamenti =
1) che un=20
dubbio corrode la mia povera mente, un dubbio cos=EC incredibile quanto =
(almeno=20
penso) stupido.</DIV>
<DIV>allora, in c++ ci sono new e delete, in java solo new e va bene. =
new mi=20
serve per gestire la memoria dinamicamente, ma sinceramente io non ne ho =
ancora=20
capito l'utilit=E0.</DIV>
<DIV> </DIV>
<DIV>cio=E8 supponiamo che io dobba creare una applicazione per una =
banca, la=20
quale deve solo registrare il cognome di una persona e quanti soldi ha =
la=20
persona,</DIV>
<DIV>faccio una classe persona con un array nome[xx] e un int per tenere =
il=20
conto dei soldi e poi tutti i metodi che servono per gestire queste =
variabili,=20
(per aggiungere i soldi, prelevarli, mostrare il conto ecc ecc).</DIV>
<DIV> </DIV>
<DIV>Per=F2 io voglio che questa applicazione funzioni in questo =
modo:</DIV>
<DIV>all'inizio nel "database" delle persone non c'=E8 niente</DIV>
<DIV>Poi una persona arriva alla banca e apre un conto, quindi nel =
database ci=20
va una persona </DIV>
<DIV>poi ne arriva un'altra e nel database ci sono 2 persone</DIV>
<DIV>e cos=EC via...</DIV>
<DIV>per fare questo senza gestire dinamicamente la memoria io potrei =
fare un=20
array di tipo persona</DIV>
<DIV>persona elenco [1000];</DIV>
<DIV>cos=EC per=F2 mi occupa subito la memoria per 1000 persone (dato ke =
gli oggetti=20
sono stati effettivamente creati).</DIV>
<DIV>ma se io volessi fare in modo che quando non ci sono persone la =
memoria=20
usata fosse 0?</DIV>
<DIV>e quando ci fossero 4 persone la memoria usata fosse 4?</DIV>
<DIV>da quello ke ho capito new serve a questo, ma non ho capito in che =
modo si=20
possa usare per ottenere un simile risultato.</DIV>
<DIV>Devo usare gli array?</DIV>
<DIV>Devo farlo tramite qualche metodo particolare?</DIV>
<DIV>Oppure dovrei smetterla di drogarmi?</DIV>
<DIV>mah...</DIV>
<DIV>spero che qualche buon'anima mi illumini al riguardo</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV class=3DSection1>
<P class=3DMsoNormal><SPAN style=3D"FONT-SIZE: 16pt; mso-bidi-font-size: =
12.0pt"><![if =
!supportEmptyParas]> <![endif]><o:p></o:p></SPAN></P></DIV></BODY></=
HTML>
------=_NextPart_000_0020_01C2B760.59447FC0--