Не пишите такие вещи как:
static const char* kFoo = "Bar";
Вы создали переменную с именем kFoo
, которая указывает на постоянные данные.Компилятор может обнаружить, что эта переменная не изменяется, и оптимизировать ее, но если нет, то вы раздутый сегмент данных вашей программы.
Также не пишите такие вещи, как:
static const char *const kFoo = "Bar";
Теперь ваша переменная kFoo
является const
-качественной и неизменяемой, но если она используется в позиционно-независимом коде (совместно используемые библиотеки и т. Д.), Содержимое все равно будет изменяться во время выполнения и, следовательно, добавит запуск иСтоимость памяти для вашей программы.Вместо этого используйте:
static const char kFoo[] = "Bar";
или даже:
#define kFoo "Bar"