From: Endlisnis Newsgroups: comp.os.msdos.djgpp Subject: Re: Dynamic Arrays and C++ Date: Fri, 10 Jul 1998 11:12:55 -0300 Organization: University of New Brunswick Lines: 23 Message-ID: References: <6o0ck8$hs0$1 AT news DOT bctel DOT net> <35A5658B DOT 4E09 AT sentex DOT net> NNTP-Posting-Host: sol-alt1.unb.ca Mime-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII In-Reply-To: <35A5658B.4E09@sentex.net> To: djgpp AT delorie DOT com DJ-Gateway: from newsgroup comp.os.msdos.djgpp Precedence: bulk On Thu, 9 Jul 1998, temujin wrote: ->> You could say: ->> int* test = new int[64]; ->> And then use test[x*8+y] to resolve test[x][y]. ->> Or, if the dimensions are constants, don't dynamically allocate. ->If you *MUST* use dynamic arrays and want to do it with ->OBJECTS/structures you have to remember to ->WHATEVER **myarray=malloc...... ->Have to have the double pointer thing to make it an array of pointers ->which point to objects. With just *myarray you create an array of ->unique and seperate objects. But, if you do it that way, you then have to go through the loop and allocate memory (with new or malloc) for each pointer: char** a = new (char*)[8]; for(int c=0; c<8; c++) a[c] = new char; That's alot more fuss (and requires memory for allocation overhead than just allocating one 64 char block and treating it like a 2d array. Endlisnis [I have a pyramid of wingyness]