delorie.com/archives/browse.cgi | search |
From: | "Vermin" <ratspl AT hotmail DOT com> |
Newsgroups: | comp.os.msdos.djgpp |
References: | <SEik5.4799$aK5 DOT 80126 AT news1 DOT online DOT no> <8mueij$hd7$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE> |
Subject: | ...but |
Lines: | 53 |
X-Priority: | 3 |
X-MSMail-Priority: | Normal |
X-Newsreader: | Microsoft Outlook Express 5.00.2919.6600 |
X-MimeOLE: | Produced By Microsoft MimeOLE V5.00.2919.6600 |
Message-ID: | <VhEk5.5698$aK5.95670@news1.online.no> |
Date: | Thu, 10 Aug 2000 22:38:06 +0200 |
NNTP-Posting-Host: | 130.67.73.247 |
X-Complaints-To: | news-abuse AT online DOT no |
X-Trace: | news1.online.no 965939445 130.67.73.247 (Thu, 10 Aug 2000 22:30:45 MET DST) |
NNTP-Posting-Date: | Thu, 10 Aug 2000 22:30:45 MET DST |
Organization: | Telenor Online Public Access |
To: | djgpp AT delorie DOT com |
DJ-Gateway: | from newsgroup comp.os.msdos.djgpp |
Reply-To: | djgpp AT delorie DOT com |
but is it possible to have an array (or a pointer to an array) which doesn't have a a given size (or doesn't really exist) until you define it by making space for it in the mem... some pseudo code: procedure proc1(pointer pp){ pp (points to) new array[arraySize]; } main(){ pointer p1; call proc1(p1); } "Hans-Bernhard Broeker" <broeker AT physik DOT rwth-aachen DOT de> wrote in message news:8mueij$hd7$1 AT nets3 DOT rz DOT RWTH-Aachen DOT DE... > Vermin <ratspl AT hotmail DOT com> wrote: > > > <1> > > What's the difference between > > > char anArray[100]; > > > and > > > char *anArray; > > anArray = new (char)[100]; > > Place of storage, and lifetime of the array. The first creates an > array that lives on the stack, until you leave the block the > definition is found in (or in a global data segment until program > termination, if it's at file scope), the second creates a block that > exists until you delete[] it, and a pointer to it with a certain > lifetime. > > > <2> How can I pass an array with undefined size to a procedure, and > > get the procedure to set the array size (C++)?? > > You can't. Array size isn't modifiable a posteriori. You can only > change the size of "new"ed arrays, and that only by delete[]ing them > and "new"ing a new one. > > If you need a truly variable-sized array, look up the 'vector' template. > > > -- > Hans-Bernhard Broeker (broeker AT physik DOT rwth-aachen DOT de) > Even if all the snow were burnt, ashes would remain.
webmaster | delorie software privacy |
Copyright © 2019 by DJ Delorie | Updated Jul 2019 |