Click here to Skip to main content
15,909,440 members
Home / Discussions / C / C++ / MFC
   

C / C++ / MFC

 
Questiondynamic 2D array template for non-built-in types. [modified] Pin
Sauce!3-Apr-09 2:36
Sauce!3-Apr-09 2:36 
AnswerRe: dynamic 2D array template for non-built-in types. Pin
Stuart Dootson3-Apr-09 2:58
professionalStuart Dootson3-Apr-09 2:58 
If all you want is a 2-d array, then Boost.MultiArray[^] might help.

Otherwise -

Sauce! wrote:
Each element of ppArrayColumns only points to one element of pArray. As such, when we use the [] operator, the whole thing falls apart because we've managed to walk into funny memory.


I think you'll find that's the way C/C++ arrays work - they are just pointers really. Your code works fine - when I run this code, it prints out addresses that are 40 bytes apart, which is what I'd expect for rows of 10 ints.

Array2D<int> arr(10, 10);

int main(int, char**)
{
   for (int i=0;i<10;++i)
      std::cout << (int)arr[i] << std::endl;
   return 0;
}


Also - your template class won't really be usable, as your client code won't be able to instantiate the size constructor or destructor - you don't define template class methods in .cpp files!

Also - I don't like your destructor code - I prefer to deexplicitly deallocate the things I allocated rather than going through intermediaries:

~Array2D()
{
  delete []ppArrayColumns;
  delete [] pArray;
}


Java, Basic, who cares - it's all a bunch of tree-hugging hippy cr*p

GeneralRe: dynamic 2D array template for non-built-in types. [modified] Pin
Sauce!3-Apr-09 4:13
Sauce!3-Apr-09 4:13 
GeneralRe: dynamic 2D array template for non-built-in types. Pin
Stuart Dootson3-Apr-09 6:48
professionalStuart Dootson3-Apr-09 6:48 
GeneralRe: dynamic 2D array template for non-built-in types. [modified] Pin
Sauce!3-Apr-09 20:19
Sauce!3-Apr-09 20:19 
GeneralRe: dynamic 2D array template for non-built-in types. Pin
Stuart Dootson4-Apr-09 2:43
professionalStuart Dootson4-Apr-09 2:43 
GeneralRe: dynamic 2D array template for non-built-in types. Pin
Sauce!4-Apr-09 5:32
Sauce!4-Apr-09 5:32 
AnswerRe: dynamic 2D array template for non-built-in types. Pin
Maximilien3-Apr-09 3:00
Maximilien3-Apr-09 3:00 
AnswerRe: dynamic 2D array template for non-built-in types. Pin
Iain Clarke, Warrior Programmer4-Apr-09 0:06
Iain Clarke, Warrior Programmer4-Apr-09 0:06 
GeneralRe: dynamic 2D array template for non-built-in types. Pin
Sauce!4-Apr-09 0:19
Sauce!4-Apr-09 0:19 
QuestionHow do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 2:13
blokkies3-Apr-09 2:13 
AnswerRe: How do i create an Executable (.exe) to debug my project? Pin
Rajesh R Subramanian3-Apr-09 2:29
professionalRajesh R Subramanian3-Apr-09 2:29 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 2:43
blokkies3-Apr-09 2:43 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
Rajesh R Subramanian3-Apr-09 3:20
professionalRajesh R Subramanian3-Apr-09 3:20 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 3:40
blokkies3-Apr-09 3:40 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
Cedric Moonen3-Apr-09 3:52
Cedric Moonen3-Apr-09 3:52 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 4:03
blokkies3-Apr-09 4:03 
QuestionRe: How do i create an Executable (.exe) to debug my project? Pin
David Crow3-Apr-09 4:13
David Crow3-Apr-09 4:13 
AnswerRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 4:20
blokkies3-Apr-09 4:20 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
David Crow3-Apr-09 4:23
David Crow3-Apr-09 4:23 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
Cedric Moonen3-Apr-09 4:17
Cedric Moonen3-Apr-09 4:17 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 4:32
blokkies3-Apr-09 4:32 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
blokkies3-Apr-09 4:59
blokkies3-Apr-09 4:59 
QuestionRe: How do i create an Executable (.exe) to debug my project? Pin
David Crow3-Apr-09 6:31
David Crow3-Apr-09 6:31 
GeneralRe: How do i create an Executable (.exe) to debug my project? Pin
Cedric Moonen3-Apr-09 7:16
Cedric Moonen3-Apr-09 7:16 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.