Поскольку ошибки, связанные с ненамеренным замещением имен трудно обнаружить, особенно в большой программе, следует придерживаться следующих правил.

? Чем более глобальное имя было создано, тем более описательный характер, позволяющий понять функциональную нагрузку имени и область, оно должно носить.

? Имена из локальной области видимости хорошо делать однобуквенными.

? Чем чаще используется имя, тем короче его надо делать.

? Имя должно отображать смысл использования объекта, а не детали его представления.

? Нужно записывать имена макросов заглавными буквами.

? Следует отделять слова внутри имени символом подчеркивания.

Объекты и lvalue (левые значения)

Когда для хранения тех или иных данных выделяется некоторая непрерывная область памяти, эта операция создает объект. В С++ разработчик может создавать области памяти и хранить там данные, не присваивая этим объектам имен. Но если вы такому объекту все же присваивается имя, то этим создается так называемое lvalue , то есть нечто, что может быть использовано в левой части оператора присваивания. Когда вы создаете переменную, вы создаете модифицируемое lvalue . При создании константы возникает константное lvalue .

Объект, объявленный в функции, создается в момент его определения и живет до выхода из функции. Такого рода объекты называются автоматическими или локальными . Глобальные объекты, а также статические объекты, объявленные в функциях и классах, живут до тех пор, пока не закончится программа.

Объекты, созданные явно при помощи оператора new, уничтожаются оператором delete, и программист непосредственно управляет временем их жизни. Такие объекты называются динамическими .

typedef

Объявление, начинающееся с ключевого слова typedef, вводит новое имя для типа.

typedef char* Pchar;

Перейти на страницу:

Похожие книги