Константа Objective C NSString * по сравнению с NSString * константа

Я пытаюсь к константе NSString в моем.h файле быть определенным в моем.m. Я понимаю это
extern NSString * const variableName; в.h и
NSString * const variableName = @"variableValue"; путь состоит в том, чтобы сделать это. При исследовании c учебных руководств я вижу это const как предполагается, идет перед определениями переменной. Мой вопрос состоит в том, почему он не объявляется как extern const NSString * variableName; в.h и const NSString * variableName = @"variableValue"; в.m. Я знаю, что это не работает, потому что я встречаюсь с предупреждениями компилятора, которые говорят 'Передающий аргумент 1 из methodName: спецификаторы отбрасываний от указателя предназначаются для типа'. Что это означает?

45
задан dhatch387 7 July 2010 в 15:50
поделиться

1 ответ

Это не одно и то же. Модификатор const может быть применен к значению или указателю на значение.


int * const

Постоянный указатель (не изменяемый) на целое число (его значение может быть изменено)


const int *

Изменяемый указатель на постоянное целое число (его значение не может быть изменено)


Так что вы можете представить:

const int * const;
59
ответ дан 26 November 2019 в 21:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: