Was ist die Bedeutung der Positionierung desBedeutung des Schlüsselwort const Positionierung in Variablendeklarationen
const
Schlüsselwort, wenn eine Variable in Objective-C, zum Beispiel erklärt:
extern const NSString * MY_CONSTANT;
gegen
extern NSString * const MY_CONSTANT;
Die erste Version in Zuweisungen erzeugt Warnungen über "Qualifier fr om pointer target type "wird verworfen, also nehme ich an, dass die zweite Version sicherstellt, dass die Zeigeradresse gleich bleibt. Ich würde jedoch eine definitive Antwort wirklich schätzen. Vielen Dank im Voraus!
EZOD ist korrekt - Ich sehe jedoch nicht die Begründung beim Hinzufügen der Konst, wenn ein NSString als String-Konstante deklariert wird. Sie können einen NSString nicht freigeben und Sie können ihn nicht ändern (es ist nicht veränderbar) ... also warum auch nur mit dem Const stören? –
Niemand verwendet 'const NSString * blah', da selbst ein unveränderlicher NSString seine Ivars manipulieren muss (z. B. Zwischenspeichern), und ein NSString kann auch ein NSMutableString sein. Sie verwenden 'NSString * const blah', so dass etwas von Ihrem anderen Code nicht 'if (MY_CONST_STRING = local_string)' tut und ein schädliches Plugin nicht alle Ihre Konstanten wieder in '@" I LIKE MONKEYS "' schreiben kann. –