Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лекции по титп.doc
Скачиваний:
9
Добавлен:
24.09.2019
Размер:
249.86 Кб
Скачать

Оператор new и массивы

запрещается использовать оператор new для создания массивов, размер которых известен на этапе компиляции. Выделение динамической памяти для массивов следует выделять при:

  1. в случае если все или некоторые размерности массива определяются только во время выполнения программы

  2. размерности массива могут изменяться в процессе выполнения программы.

Ссылки

В языке C такого понятия как ссылка нет. Для хранения адреса используется указатель. В C++ ссылка используется для косвенного обращения к переменной

К освенное обращение

Указатель(pointer) переменная, которая явно содержит адрес объекта

Ссылка (reference)

Переменная, содержащая адрес объекта синтаксически, но ей пользуются так же как и самим объектом

Указатель

Ссылка

объявление

int x;

int *p=&x;

int &r=x;

инициализация

int *p

int&r;//ссылка должна быть инициализирована extern int &r;

получение значения

int tmp = *p; //получение значения переменной x

(*p)++; //увеличение значения x на 1

int tmp = r; //получения значения переменной x

r++;

модификация адреса

p++;

int y;

r=y;

нулевое значение

p=0;

На ноль указывать нельзя, ссылка должна всегда указывать.

Применение оператора «&»

int **p=&p;

int *p=&r;

Ссылка на указатель

int *&refp=p;

int *&refx=&x;//так делать нельзя, изменяется указатель

Ссылку делать нельзя

Ключевое слово void

void*p=0

нельзя

Оператор sizeof

double *p;

size_t n=sizeof(p);//4

double d;

double &rd=d;

size_t n=sizeof(rd)//8

Инициализация литералом (константная ссылка)

int*p=reinterpret_cast<int*>(0x10000000);

// int &r=1; нельзя!

const int &r=1; //ок

Функции

Ф

Последовательность команд

ункция – структурная часть программы, состоящая из инструкций и операторов, которая может принимать значения и возвращать одно или ни одного значения.

Использование функций позволяет:

  1. Не писать многократно один и тот же код, который выполняет одни и те же действия с разными наборами данных

  2. Использовать посредством функций «чужой код» (стандартные библиотеки)

  3. Улучшить структуру программы

  4. Справиться со сложностью восприятия больших программ, а при разработке больших проектов или библиотек позволяет группе разработчиков координировать свои части разработки.