Jakie jest znaczenie pozycjonowaniaZnaczenie const pozycjonowania słów kluczowych w deklaracji zmiennych
const
hasła podczas deklarowania zmiennej w Objective-C, na przykład:
extern const NSString * MY_CONSTANT;
kontra
extern NSString * const MY_CONSTANT;
Używanie pierwszej wersji w zadaniach tworzy ostrzeżenia o "kwalifikacjach" om docelowy typ wskaźnika "jest odrzucany, więc zakładam, że druga wersja zapewnia, że adres wskaźnika pozostaje taki sam. Naprawdę doceniłbym jednak bardziej jednoznaczną odpowiedź. Z góry bardzo dziękuję!
ezod jest poprawny - nie widzę jednak uzasadnienia dodania stałej, gdy NSString jest zadeklarowane jako stała łańcuchowa. Nie możesz zwolnić NSString i nie możesz go zmienić (nie można go zmienić) ... więc po co zawracać sobie głowę konstelacją? –
Nikt nie używa 'const NSString * blah', ponieważ nawet niezmienny NSString może wymagać manipulowania swoimi kolorami (np. Buforowanie), a NSString może być również NSMutableString. Używasz 'NSString * const blah', aby niektóre z twoich innych kodów nie robiły' if (MY_CONST_STRING = local_string) 'i złośliwa wtyczka nie może przepisać wszystkich twoich stałych na' @ "I LIKE MONKEYS" '. –