Бьерн Страуструп - Язык программирования С++. Главы 2-4
Страница 6. Имена



2.2  ИМЕНА

 Имя (идентификатор) является последовательностью букв или цифр.
 Первый символ должен быть буквой. Буквой считается и символ
 подчеркивания _. Язык С++ не ограничивает число символов в имени.
 Но в реализацию входят программные компоненты, которыми создатель
 транслятора управлять не может (например, загрузчик), а они,
 к сожалению, могут устанавливать ограничения. Кроме того, некоторые
 системные программы, необходимые для выполнения программы на С++, могут
 расширять или сужать множество символов, допустимых в идентификаторе.
 Расширения (например, использование $ в имени) могут нарушить
 переносимость программы. Нельзя использовать в качестве имен
 служебные слова С++ (см. $$R.2.4), например:


        hello    this_is_a_most_unusially_long_name
        DEFINED  foO    bAr     u_name    HorseSense
        var0     var1   CLASS   _class    ___

Теперь приведем примеры последовательностей символов, которые не могут
использоваться как идентификаторы:

        012      a fool    $sys     class    3var
        pay.due  foo~bar   .name    if

Заглавные и строчные буквы считаются различными, поэтому Count и
count - разные имена. Но выбирать имена, почти не отличающиеся
друг от друга, неразумно. Все имена, начинающиеся с символа
подчеркивания, резервируются для использования в самой реализации
или в тех программах, которые выполняются совместно с рабочей,
поэтому крайне легкомысленно вставлять такие имена в
свою программу.
  При разборе программы транслятор всегда стремится выбрать самую
длинную последовательность символов, образующих имя, поэтому var10
- это имя, а не идущие подряд имя var и число 10. По той же причине
elseif - одно имя (служебное), а не два служебных имени else и if.

 
« Предыдущая статья   Следующая статья »