? new – осуществляет динамический захват памяти во время исполнения.
? delete – динамически освобождает память, захваченную командой new.
? this – оператор указания на объект, для которого была вызвана данная функция.
? ~ – деструктор класса.
Инструкции
В группу инструкций в С++ выделено все, что влияет на ход выполнения программы и порядок выполнения выражений. В том числе инструкцией считается последовательность выражений, оканчивающаяся точкой с запятой. Таким образом, в число инструкций попадают выражения присваивания и вызовы функций. Особым случаем инструкции является пустая инструкция, которая ничего, кроме точки с запятой, не содержит. Функционально такая инструкция особой пользы не несет, но может быть полезна при отладке или, к примеру, в организации бесконечного цикла.
if…else Эта инструкция позволяет выполнять некоторые выражения только в случае, когда выполняется некоторое условие. Имеет две формы: сокращенную и полную. Синтаксис сокращенной формы приведен ниже.
if () ;
Полная форма выглядит несколько иначе.
if () ; else ;
Если (if) условие в скобках () в результате вычисления дает результат типа bool со значением true, то выполняется выражение , иначе будет выполнено выражение . Пример использования этой конструкции приведен в листинге 4.10. Листинг 4.10
void fother () {
char mstr[20];
mstr[0]= \0;
int a = 5;
if (a>5) //Если a>5
{
strcat(mstr, «a>5»); //содержимым строки будет «a>5»
}
else //иначе
{
if (a =5) //Если а=5
{
strcat(mstr, «a=5»); //содержимым строки будет «a=5»
}
else //иначе
{
strcat(mstr, «a<5»); //содержимым строки будет «a<5»
};
};
}
Приведенный пример демонстрирует применение инструкций if…else. В листинге показано, что инструкции могут быть вложенными. Следует обратить внимание, что если в качестве выражений фигурируют блоки, то точка с запятой ставится только в конце инструкции. switch (переключатель)
Эта инструкция предназначена для того, чтобы переключить ход выполнения программы на одну из ветвей в соответствии со значением переменной на входе.
Ее синтаксис приведен ниже:
switch () {
case : ; [break;]
default: ;
}
В этом определении показано, как переменная передается инструкции switch. Если значение переменной соответствует одному из значений константы case, то выполняется соответствующее выражение, которое может быть завершено инструкцией. Если не было найдено значения переменной, соответствующее одной из констант case, то выполняется ветвь default. Каждую из ветвей желательно завершать инструкцией break, иначе возможно выполнение сразу нескольких ветвей. Ветвь default может отсутствовать в конструкции switch. Работа оператора switch проиллюстрирована в блоке 11 рассматриваемого примера. При помощи этого оператора происходит выполнение той или иной функции в зависимости от того, какая клавиша была нажата на клавиатуре. while Инструкция while предназначена для организации цикла, в котором тело цикла может ни разу не быть выполнено. Это зависит от значения переменной продолжения цикла. Синтаксис этой инструкции приведен ниже.
while ()
Инструкция statement будет выполняться до тех пор, пока будет оставаться верным условие condition. Пример подобного цикла приведен ниже.
while (*p == ) p++; do while Инструкция do while предназначена для организации цикла, в котором тело цикла будет выполнено хотя бы один раз. Синтаксис этой инструкции приведен ниже.
do while ()
Инструкция statement будет выполняться до тех пор, пока будет выполняться условие condition. for Инструкция for предназначена для организации параметрического цикла. Синтаксис этой инструкции приведен ниже.
for (]; ]; ])
В секции выполняется инициализация переменной цикла, в секции устанавливается условие, а в секции обуславливается механизм изменения переменной цикла. Блок инструкций является телом цикла. Пока условие соблюдается , цикл будет выполняться. Пример инструкции for приведен ниже.
for (int i = 0; i < 10; i++){
sprintf(nn, «%d», i);
strcat(mm, nn);
strcat(mm, " ");
}
break
Инструкция break прерывает выполнение инструкций switch, for, while или do и передает управление следующему блоку инструкций.
continue
Эта инструкция прерывает только текущую итерацию цикла и передает управление следующей итерации.
goto Инструкция goto предназначена для передачи управления на произвольную инструкцию программы, которая должна быть помечена соответствующей меткой. Это может быть в том числе и инструкция объявления имени. Заметим, что метка может быть только локальной, в качестве метки может выступать любое необъявленное до сих пор имя с двоеточием после него. Синтаксис конструкции приведен ниже.
identifier:
Читать дальше
Конец ознакомительного отрывка
Купить книгу