Archived

This topic is now archived and is closed to further replies.

Internal C++ pointer/array management

This topic is 5247 days old which is more than the 365 day threshold we allow for new replies. Please post a new topic.

If you intended to correct an error in the post then please contact us.

Recommended Posts

Hi there! When I was coding some things, a question came up. How does C++ remember the size of an array located on the heap? Like this: int* pInts = new int[100]; Then I want to delete them with delete [] pInts; Okay, in this example, the compiler might easily "remember" how many ints to delete since "100" is a constant, but what if it''s a variable like: int sz = 100; int* pInts = new int[sz]; delete [] pInts; Does the compiler generate a size variable somewhere to remember how many ints I''ve allocated or what? ---------------------------------------------- Petter Nordlander "There are only 10 kinds of people in the world. The who understand binary and those who don''t"

Share this post


Link to post
Share on other sites
I can''t see any way it should work if it does not. But I thought there might be one..

----------------------------------------------
Petter Nordlander

"There are only 10 kinds of people in the world. The who understand binary and those who don''t"

Share this post


Link to post
Share on other sites
quote:
Original post by PhiberOptic


Does the compiler generate a size variable somewhere to remember how many ints I''ve allocated or what?




It has to. However, it does this automatically only for convenience.

Same type of automation works in arrays of any type.
The compiler stores automatically the size of one element.

Share this post


Link to post
Share on other sites
Thanks! Perfectly! Exactly what I was looking for...
btw, I might have you on my ICQ list.. I''m not sure.. :-)

----------------------------------------------
Petter Nordlander

"There are only 10 kinds of people in the world. The who understand binary and those who don''t"

Share this post


Link to post
Share on other sites