30. Имена переменных

30. Имена переменных

Имя (идентификатор) включает в себя последовательность букв и цифр. Первый символ должен являться буквой. Знак подчерка считается буквой. C++ не ограничивает число символов в имени, но определенные части реализации находятся вне ведения автора компилятора (в частности, загрузчик), и они подобные ограничения налагают.

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

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

Буквы в верхнем и нижнем регистрах являются различными, т. е. Count и count – разные имена, но вводить имена, почти не отличающиеся друг от друга, нежелательно. Имена, которые начинаются с подчерка, по традиции применяются для специальных средств среды выполнения, поэтому применять такие имена в прикладных программах не стоит.

Каждое имя (идентификатор) в C++ программе обладает ассоциированным с ним типом. Данный тип определяет, какие операции возможно применить к имени, а также как эти операции интерпретируются.

Целый тип char удобнее всего применять для хранения и обработки символов на некотором компьютере; обычно это 8-битовый байт. Размеры объектов C++ выражаются в единицах размера char, т. е. можно записать sizeof(char)==1.

Тип unsigned char является беззнаковым, и при его использовании имеем более переносимые программы, но при применении его вместо char могут появиться значительные потери в эффективности.

Тип void (пустой) синтаксически проявляет себя как основной тип. Но применять его следует только как часть производного типа, объектов типа void нет. Он применяется для указания, что функция не возвращает значение, или в качестве базового типа для указателей на объекты неизвестного типа.

void f() // f не возвращает значение

void* pv; // указатель на объект неизвестного типа

Для большинства типов T T* служит типом указатель на T. То есть в переменной типа T* может располагаться адрес объекта типа T. Для указателей на вектора и указателей на функции необходимо пользоваться более сложной записью:

int* pi;

int* pi;

char** cpp; // указатель на указатель на char

int (*vp)[10]; // указатель на вектор из 10 int’ов

int (*fp)(char, char*); // указатель на функцию

// получающую параметры (char, char*)

// и возвращающую int

Поделитесь на страничке

Следующая глава >

Похожие главы из других книг

2.2 Имена

Из книги C++ автора Хилл Мюррей

2.2 Имена Имя (идентификатор) состоит из последовательности букв и цифр. Первый символ должен быть буквой. Символ подчерка _ считается буквой. С++ не налагает ограничений на число символов в имени, но некоторые части реализации находятся вне ведения автора компилятора (в


8.7 Имена Типов

Из книги Давайте создадим компилятор! автора Креншоу Джек

8.7 Имена Типов Иногда (для неявного задания преобразования типов и в качестве параметра sizeof или new) нужно использовать имя тпа данных. Это выполняется при помощи «имени типа» которое по сути является описанием для объекта этого типа, в котором опущено имя объекта.имя_типа:


R.3.6.3 Имена типов

Из книги Самоучитель работы на компьютере автора Колисниченко Денис Николаевич

R.3.6.3 Имена типов Основные и производные типы можно поименовать с помощью механизма typedef (§R.7.1.3), а семейство типов и функций можно задать и поименовать с помощью механизма шаблона типов


R.8.1 Имена типов

Из книги Microsoft Visual C++ и MFC. Программирование для Windows 95 и Windows NT автора Фролов Александр Вячеславович

R.8.1 Имена типов Имя типа необходимо указывать при задании операции явного преобразования типа или в качестве параметра в операциях sizeof или new. Для этого служит конструкция имя-типа, которая синтаксически эквивалентна описанию объекта или функции этого типа, в котором


7.3. Имена дисков

Из книги Основы объектно-ориентированного программирования автора Мейер Бертран

7.3. Имена дисков В любом современном компьютере имеется несколько носителей данных, например дисковод для дискет, CD-ROM и жесткий диск. У каждого носителя есть свое имя. Оно позволяет уточнить, на каком диске находится тот или иной файл. Имя диска — это буква латинского


Имена, используемые MFC

Из книги UNIX: взаимодействие процессов автора Стивенс Уильям Ричард

Имена, используемые MFC Библиотека классов содержит огромное количество классов, структур, констант и т. д. Чтобы сделать исходный текст приложений MFC более легким для понимания, принято использовать ряд соглашений для используемых имен и комментариев.Названия всех


У6.5 Имена

Из книги Программирование на языке Ruby [Идеология языка, теория и практика применения] автора Фултон Хэл

У6.5 Имена Разработайте абстрактный тип данных ИМЯ, в котором учитывались бы различные компоненты полного имени


Играем в имена

Из книги Технология XSLT автора Валиков Алексей Николаевич

Играем в имена Смена имен подчеркивает важность именования - как компонентов, так и классов - в практике ОО-разработки ПО. Формально, класс - это отображение имен компонентов в сами компоненты. Компоненты известны остальному миру благодаря именам.В последней лекции будет


2.2. Имена IPC

Из книги Операционная система UNIX автора Робачевский Андрей М.

2.2. Имена IPC В табл. 1.2 мы отметили, что три типа IPC стандарта Posix имеют идентификаторы (имена), соответствующие этому стандарту. Имя IPC передается в качестве первого аргумента одной из трех функций: mq_open, sem_open и shm_open, причем оно не обязательно должно соответствовать реальному


Идентификаторы и имена в IPC

Из книги автора

Идентификаторы и имена в IPC Как было показано, отсутствие имен у каналов делает их недоступными для независимых процессов. Этот недостаток устранен у FIFO, которые имеют имена. Другие средства межпроцессного взаимодействия, являющиеся более сложными, требуют


Имена файлов

Из книги автора

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


Имена

Из книги автора

Имена В именах нельзя использовать символы разных регистров. Назвать переменную именем idx, или даже i — это очень хорошо, но при условии, что будет понятно назначение этой переменной. Слишком хитрые имена, такие как theLoopIndex, недопустимы. Так называемая "венгерская запись"