Какова лучшая практика для выделения памяти для примитивных типов в target-c?
Используется ли выделение C в порядке (malloc и free)
unsigned int* val = malloc(sizeof(unsigned int));
free(val);
Или существует какой-либо объект?-c конкретные распределения?
И что лучше, если функция ожидает указатель на int, самостоятельно создает и управляет указателем, или просто создает обычную переменную и отправляет ее адрес с помощью оператора address-of
:
Первая форма:
NSScanner* scanner = [NSScanner scannerWithString: @"F"];
unsigned int* val = malloc(sizeof(unsigned int));
[scanner scanHexInt: val];
NSLog(@"%d", *val);
free(val);
Вторая форма:
NSScanner* scanner = [NSScanner scannerWithString: @"F"];
unsigned int val;
[scanner scanHexInt: &val];
NSLog(@"%d", val);
С помощью второй формы я освобождаюсь от головной боли, связанной с выделением памяти.