Something I’ve been wondering for a while. I know that in order to free up memory, objects (Such as NSMutableArray) have to be released, but raw data types (Such as int) don’t. My question is, at what point does the space in memory that an int is occupying become free?
For example, a class “myClass” has an iVar “int a”
“a” holds the value some integer value.
When “myClass” is deallocated, does the space in memory that was holding the value for “a” become free straight away?
Thanks in advance.
For class ivars, the memory is freed when the object instance is deallocated – upon the last [release] call. For local int (and other primitive) variables, when the function returns. For global and static variables, when the process quits.
Also, you can allocate int’s dynamically with malloc(). Then it’s freed when you call free().