Mi rendo conto che il 99% di voi pensa "ma che cazzo ..." Ma per favore aiutatemi a capire come usare pointers
. Sono sicuro che la mia domanda specifica aiuterebbe molti neofiti.Qual è il più grande vantaggio dell'uso di puntatori in ObjectiveC
Capisco quali puntatori sono e che sono un riferimento a un indirizzo in memoria e che utilizzando l'operatore (*) è possibile ottenere il valore in quell'indirizzo.
Diciamo:
int counter = 10;
int *somePointer = &counter;
ora ho l'indirizzo in memoria di counter
, e posso indirettamente indicare il suo valore in questo modo:
int x = *somePointer;
Il che rende x = 10
, giusto?
Ma questo è l'esempio più semplice, e in questo caso potrei usare int x = counter;
e ottenere quel valore, quindi per favore spiega perché i puntatori sono davvero una cosa così importante in Objective-C e in altri linguaggi ... in tal caso solo un puntatore ha senso?
Apprezzalo.
Un puntatore non è un riferimento a un indirizzo. Si può dire che un puntatore è un riferimento alla memoria o che è un riferimento a una variabile, ma * è * un indirizzo. (Tecnicamente, un puntatore è una variabile e il suo valore è un indirizzo. L'inglese è ambiguo.) –
Uno non assegna semplicemente oggetti in modo statico. – CodaFi
Si potrebbe voler iniziare lì: http://stackoverflow.com/questions/5203284/objective-c-and-pointers/5203296#5203296 –