252 _____________________________Часть II. Программирование на C++
и COBOL, является то, что синтаксис C++ чувствителен к регистру символов. Поэтому три оператора
void Foo ();
void FOO() ;
void foo() ;
объявляют три различные функции. Для неаккуратных программистов это может стать солидным препятствием.
Выработайте для себя стандарт именования функций. Если вы будете его последовательно придерживаться, то чувствительность C++ к регистру не доставит вам никаких неудобств. В данной книге используется соглашение, в соответствии с которым первые буквы всех слов, составляющих имя функции, пишутся с большой буквы. То есть имя функции из одного слова будет выглядеть так:
int Size();
«
А функция с именем '
size_t SizeOfO;
(буквы S и О — заглавные) — это совсем не то же, что операция sizeof. Кроме того, в книге не используются нестандартные аббревиатуры в именах функций. Имена, начинающиеся с заглавных букв, легче читать, а отсутствие нестандартных сокращений не заставляет ломать голову над назначением функции (помните DayOfweek — день недели? А ведь бывают программы, в которых можно встретить обозначения типа dyofwk или как-нибудь еще похуже).
Ваша последовательность окупится сторицей. Необязательно следовать тем соглашениям, что используются в этой книге, разработайте свои собственные и придерживайтесь их в своем коллективе. Альтернативы, к предложенным выше подходам, можно найти в главе 5 "Соглашения об именах и комментариях".
Типы аргументов
До сих пор речь шла о типах возвращаемых значений и именах функций. Теперь, до того как мы углубимся в общие аспекты объявлений функций, необходимо поговорить о типах аргументов. В этом разделе мы разберемся, что можно делать с аргументами функций. Далее мы познакомимся со спецификаторами функций и рассмотрим несколько примеров.
К аргументам функций применимы все те же правила, о которых говорилось в разделе, посвященном возвращаемым типам. Синтаксическая разница между типами возвращаемых значений и типами аргументов состоит в