Объективное значение c enum в виде строкового литерала в пределах одного qoutes - PullRequest
5 голосов
/ 01 апреля 2011

Найдено объявление enum в AudioToolbox/AudioServices.h

enum
{
    kAudioSessionNoError                                =  0,
    kAudioSessionNotInitialized                         = '!ini',
    kAudioSessionAlreadyInitialized                     = 'init',
    kAudioSessionInitializationError                    = 'ini?',
    kAudioSessionUnsupportedPropertyError               = 'pty?',
    kAudioSessionBadPropertySizeError                   = '!siz',
    kAudioSessionNotActiveError                         = '!act',
    kAudioServicesNoHardwareError                       = 'nohw',
    kAudioSessionNoCategorySet                          = '?cat',
    kAudioSessionIncompatibleCategory                   = '!cat',
    kAudioSessionUnspecifiedError                       = 'what'
};

Я не очень понимаю, что это за декларация на самом деле. Google не предоставляет никакой информации. Любая помощь, пожалуйста?

1 Ответ

8 голосов
/ 01 апреля 2011

Они называются «четырьмя символами»:

http://en.wikipedia.org/wiki/FourCC

Они преобразуются в целые числа (32 бита, поскольку они являются 4-мя символами), но улучшают читаемость, сопоставленную с числовымценности.Apple использует это долгое время, в основном для кодов OSStatus.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...