I've been playing around with iPhone development for a while, and although it feels a bit awkward when you're a "hard core" .NET developer, it's not all that bad once you get used to it.
In every book I read about Objective-C, there's only talk about retain
/release
(reference counting) for memory management. As an old-skool C/C++ developer, it seems strange that allocating the "normal" way, using malloc()
and free()
is only mentioned in some footnotes.
I know that malloc()
and free()
work in Objective-C, but I'm curious if it is common practice or not. After all, if I want to allocate an array of 100 integers, it seems that this is the most efficient way to do it:
int *array = malloc(sizeof(int) * 100);
memset(array,0,sizeof(int) * 100);
// use the array
free(array);
Is this indeed the best way, or should I avoid plain C memory management?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…