We are currently in the process of converting the website to the new design. Some pages, like this one, are still broken. We appreciate your patience.
Handmade Network»Forums
20 posts
Array with void* refereces
Hi, I would like to know if its possible to have an array of void* and everytime I allocate a memory I would add its pointer to the array of void*, and then in the end of my application I would just go through the list of the void* and deleting every one. Is that possible?

Example:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
//application init//
struct myStruct
{
  int anInt = 3;
  float aFloat = 40.0f;
}

void** pointers = new void*[3];

for(int i = 0; i < 3; i++)
{
  myStruct* ms = new myStruct();
  pointers.push_back(ms);
}

//application loop//

//application end//
for(int i = 0; i < 3; i++)
{
  delete pointers[i];
}

513 posts
Array with void* refereces
If you are relying on destructors running when doing that you are out of luck. Though you don't need to actually deallocate memory yourself like that anyway. Once the application exits the operating system will reclaim all allocated memory.

Also if you are allocating like this then you may as well use a memory arena (VirtualAlloc a large block and override the default allocator to parcel out chunks of it)

20 posts
Array with void* refereces
I see, you're right!