
- •Арифметические операции с указателями и с указателями на массивы.
- •Ввод-вывод в символьные массивы.
- •Динамическая память. Указатели и массивы. Ссылочный тип.
- •Доступ к глобальным переменным, скрытым локальными переменными с тем же именем (оператор ::).
- •Доступ к элементам массива. Вычисление размера массива. Многомерные массивы.
- •Инициализация массивов по умолчанию. Явная инициализация массивов.
- •Использование new и delete на примере динамических массивов, стеков, очередей.
- •Указатели на структуру
- •Массивы структур
- •Совместное использование операторов if-else-if и switch
- •Указатели на массивы. Указатели на строки.
- •Использование указателя на символьную строку
- •Условный оператор ?. Оператор switch.
- •Формальные и фактические параметры. Массивы в качестве параметров. Аргумент типа void.
- •Способ передачи параметров в подпрограмму
- •Логические операции. Инкремент и декремент. Арифметические операции.
- •Объявление переменной массива
- •Объекты стандартного предопределенного потокового ввода-вывода cin, cout, cerr, clog.
- •Объявление переменных указателей. Простые операторы с указателями.
- •Оператор break. Оператор continue. Совместное использование операторов break и continue.
- •Оператор if. Оператор if-else. Вложенные операторы if-else. Оператор if-else-if.
- •If (условие_истинно) оператор; else оператор;
- •If (условие_истинно)
- •Операторы динамического распределения памяти (new, delete).
- •Операции динамического распределения памяти.
- •Определение переменных указателей. Инициализация указателей.
- •Передача значений параметров по умолчанию. Передача параметров по ссылке и ссылочные переменные.
- •Передача параметра по ссылке
- •Передача структур в функции. Создание массива структур.
- •Приоритет переменных с файловой и локальной областями действия. Операция уточнения области действия.
- •Циклы for. Циклы while. Циклы do-while. Разница между циклами.
- •Цикл while ("пока") с постусловием
- •Пространство имен. Операторы namespace и using. Пространство имен
- •Прототипы функций. Вызов функций по значению и вызов по ссылке. Область действия. Рекурсия.
Цикл while ("пока") с постусловием
Цикл "пока" с постусловием отличается от цикла с предусловием тем, что сначала выполняется блок цикла, а потом проверяется условие. Если условие истинно, то цикл будет выполнен еще раз, и так до тех пор, пока условие будет истинно. Синтаксис цикла с постусловием такой (обратите внимание на обязательную точку с запятой после условия):
do
{ Блок инструкций }
while (условие);
Поскольку условие проверяется после выполнения тела цикла, то блок цикла с постусловием всегда будет выполнен хотя бы один раз, независимо от истинности условия. Это может привести к ошибкам, поэтому использовать цикл while с постусловием следует только тогда, когда это действительно упрощает алгоритм.
Пространство имен. Операторы namespace и using. Пространство имен
С понятием области действия имени связано понятие пространства имени. Пространством имени называется область программы, в пределах которой это имя должно быть уникальным. Различные категории имён имеют различные пространства имён. К их числу относятся:
Пространство имён глобальных объектов. Это пространство образуется множеством образующих программу программных модулей. Имена глобальных объектов должны быть уникальны среди множества имён глобальных объектов во всех модулях, образующих программу.
Пространство имен поименованных операторов (или операторов с меткой) - функция. Имя оператора должно быть уникально в теле функции, в которой метка была введена в программу.
Пространство имён структур, классов, объединений и перечислимых типов зависит от контекста, в котором были объявлены структуры, классы, объединения. Если они были объявлены в блоке - это пространство будет составлять блок, если они были объявлены в модуле, таковой областью является программа. C++ помещает эти имена в общее пространство имён.
Имена элементов структур, классов, объединений и перечислимых данных должны быть уникальны в пределах определения структуры, класса, объединения и перечислимых данных. При этом в разных структурах, классах, объединениях и перечислимых данных допустимы элементы с одинаковыми именами. Пространством имён для элементов структур, классов, объединений и перечислимых данных элементов являются сами структуры, классы, объединения и перечисления.
Имена переменных и функций, имена пользовательских типов (типов, определённых пользователем - о них также немного позже) должны быть уникальны в области определения: глобальные объекты должны иметь уникальное имя среди всех глобальных объектов и т.д.
Пространство имен (namespace) — это способ объединения логически связанных объявлений под общим именем. Пример namespace
#include "stdafx.h"
namespace first { int a; float b;}
namespace second { int a; float b;}
int _tmain(int argc, _TCHAR* argv[])
{ first::a = 1; second::a = 2; first::b = 1.23; second::b = 4.56;
printf("\nfirst::a = %d\n", first::a);
printf("\nsecond::a = %d\n", second::a);
printf("\nfirst::b = %.2f\n", first::b);
printf("\nsecond::b = %.2f\n\n", second::b);
return 0;}
Для того, чтобы использовать все имена из пространства имен можно применить директиву using namespace. Пример использования using namespace std:
#include "stdafx.h" ж #include <iostream>
using namespace std;
int _tmain(int argc, _TCHAR* argv[])
{ cout<<"\n using namespace std \n"<<endl;
return 0;}
using namespace std позволяет использовать имена из пространства имен std. std - это имя стандартной библиотеки C++. Если в последнем примере убрать строку подключения пространства имен using namespace std, то надо будет указывать наименование пространства имен явно