Multidimensional Arrays
Tan V. Do -- tvd@spydr.com
Saturday, August 17, 1996
Environment: MSVC4.2, Windows95
Has anyone been able to implement a multidimensional array using the MFC
array classes like CArray. I am trying to make a three dimensional array,
but the MFC classes have no = operator which causes some problems. If
anyone has any experience, please reply.
----- Tan V. Do -----
--- tvd@spydr.com ---
http:// www.spydr.com
Mike Blaszczak -- mikeblas@nwlink.com
Monday, August 19, 1996
[Mini-digest: 2 responses]
At 11:28 AM 8/17/96 -0500, you wrote:
>Has anyone been able to implement a multidimensional array using the MFC
>array classes like CArray. I am trying to make a three dimensional array,
>but the MFC classes have no = operator which causes some problems.
They don't have an assignment operator because we wanted the classes to be
a little bit safer. It's too easy to invoke an assignment operator on a class
like CArray when you don't know it--and that could be an immensely expensive
operation.
I'm not sure why you want to use an operator=, but you can acchieve the same
effect using the Append() or Copy() members, depending on what exactly
it is you're doing.
.B ekiM
http://www.nwlink.com/~mikeblas <--- trip report central
1995 Honda VFR750F (Serial number 00050!) 4 Corners 1996!
1987 Yamaha FZ700 (damaged) AMA, HRC, VFROC
These words are my own: I do not speak for Microsoft.
-----From: jimt1@voicenet.com (Jim Tannenbaum)
Tan,
Back in the _Old_ days, we learned that you could always calculate
the offset into memory of an n dimensional array (something that the
compiler does for you) for a flat address space. For example, take a 2-D
array (ExAry[ROW][COL]), the offset n = nRowIdx * ROW + nColIdx. The array
can be declared as [ROW][COL] or [ROW * COL]. Either way, the same amount
of memory is used. You could also overload the = operator using MFC, but I
believe in the KISS principle.
Jet
JJM Systems, Inc Phone: (215) 672-3660
1 Ivybrook Blvd, Suite 190 Fax: (215) 672-5702
Ivyland, PA 19874 Net: jimt1@voicenet.com
| Вернуться в корень Архива
|