КОМПЬЮТЕРНАЯ ЛИТЕРАТУРА

Turbo C++ Version 1.0 Programmer’s Guide

Комментировать

LIB.com.ua [электронная библиотека]: : TURBO C++ Version 1.0 Programmer’s Guide

Фигурные скобки

(**) (Открывающие и закрывающие фигурныескобки) обозна-
чают начало и конец составного оператора:

if (d == z)
(*
++x
func();
*)

Закрывающая фигурная скобка служит терминатором состав-
ного оператора, поэтому (;) (точка с запятой) после *) не
требуется, за исключением структур или объявлений классов.
Часто точка с запятой недопустима, как например в случае

if (оператор)
(**); /* недопустимое использование точки с запятой */
else

Запятая

Запятая (,) отделяет элементы списка аргументов функции:

void func(int n, float f, char ch);

Запятая часто используется как операция в «операции с

— 26 —
запятой». Обе эти операции являются допустимыми, но для раз-
личения их вы должны использовать круглые скобки:

func(i, j); /* вызов функции с двумя аргументами */
func((exp1, exp2), (exp3, exp4, exp5)); /* также вызов
функции с двумя аргументами */

Точка с запятой

Точка с запятой (;) служит терминатором оператора. Лю-
бое допустимое выражениеС (включая и пустое выражение), за
которым следует (;), интерпретируется как оператор, называе-
мый оператором выражения. Выражениевычисляется, а его значе-
ние отбрасывается. Если такое выражение не имеетпобочных эф-
фектов, то TurboC++ может его проигнорировать.

a + b; /* a + b вычисляется, но полученное значение
теряется */
++a; /* имеется побочный эффект для a, но результат ++a
*/
/* теряется */
; /* пустое выражение = нулевой оператор */

Точки сзапятой частоиспользуются для создания пустых
операторов:

for (i = 0; i < t; i++) (* ; *) Двоеточие Двоеточие (:) служит для обозначения оператора с меткой: stsrt: x=0; ... goto stsrt; ... switch (a)(* case 1: puts("Первый"); break; case 2: puts("Второй"); break; ... default: puts("Ни тот, ни другой!"); break; *) Метки рассматриваются на стр.92 оригинала. Многоточие Многоточие (...) представляет собой три последовательно расположенные точки без пробелов между ними. Многоточия ис- пользуются в списках формальных аргументовпрототипов функций для обозначения переменногочисла аргументов, либо аргументов с изменяющимся типом: void func(int n, char ch,...); Данное объявление указывает, что func будет определена таким образом, что вызовы ее должны содержать как минимум два аргумента, int и char,но также могут иметь и любое число дополнительных аргументов. В С++ запятую, предшествующую многоточию, можно опустить. - 27 - Звездочка (объявление указателя) Звездочка (*) в объявлении переменной обозначает созда- ние указателя на тип: char *char_ptr; /* объявление указателя на тип char */ Можно объявить указатели с несколькими уровнями косвен- ности, что обозначается соответствующим количеством звездо- чек: int **int_ptr; /* указатель на указатель на int */ double ***double_ptr /* указатель на указатель на указатель на тип double */ Звездочка также используется в качестве операции обра- щения через указатель, либо операции умножения: i = *int_ptr; a = b * 3.14; Знак равенства (инициализатор) Знак равенства (=) разделяет объявления переменных от списков инициализации: char array[5] = (* 1, 2, 3, 4, 5 *); int x = 5; В функциях С никакой код не может предшествовать ника- ким объявлениям переменных. В С++ объявления любого типа мо- гут находиться (с некоторыми ограничениями) в любой точке внутри кода. В списке аргументов функции С++ знак равенства указыва- ет на значение параметра по умолчанию: int f(int i = 0) (* ... *) /* параметр i имеет значение по умолчанию ноль */ Знак равенства используется также как операция присвое- ния в выражениях: a = b + c; ptr = farmalloc(sizeof(float)*100); Знак фунта (директива препроцессора) Знак фунта (#) означает директиву препроцессора, если она является первым не-пробельным символом встроке. Он зада- ет действие компилятора, не обязательно связанное с генера- цией кода. Более подробно директивы препроцессора описаны на стр.133 оригинала. # и ## (двойной знак фунта) также используются как опе- рации замены и слияния лексем на фазе сканирования кода препроцессором. Объявления В данном разделе кратко рассматриваются концепции, свя- занные с объявлениями: объектов, типов, классов памяти, кон- текста, видимости, продолжительности и типом компонов- ки.Преждечем перейти к рассмотрению полного синтаксиса объявления, важно иметь общее представление об этих поняти- ях. - 28 - Контекст, видимость, продолжительность и тип компоновки определяют части программы,из которых могут быть сделаны до- пустимые ссылки на идентификатор сцельюдоступа к соответс- твующему объекту. Контекст обсуждаетсяна стр.29 оригинала, видимость - на стр.30; продолжительность рассматривается, начиная со стр. 31, а тип компоновки - на стр.32. Объекты Объектом называется идентифицируемая область памяти, которая может содержать фиксированное значение переменной (или набор таких значений). (Используемое в данном случае слово "объект" не следует путать с более общим термином, ис- пользуемым в объектно-ориентированных языках - см. главу 5, "Введение в С++" в документе "Начало работы".) Каждая вели- чина имеет связанное с ней имя и тип (который также называют типом данных). Имя используется для доступа к объекту. Имя может являться простым идентификатором, либо сложнымвыраже- нием, уникальным образом "указывающим" на данный объект. Тип используется для - для определения требуемого количества памяти при ее исходном распределении, - для интерпретации битовых коды, находимых в объектах при последующих к ним обращениях, - а также в многочисленных ситуациях контроля типа, требуемого для обнаружения возможных случаев недопустимого присваивания. Turbo C++ поддерживает многие стандартные (предопреде-

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *