Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

polevoy_cpp_2012_spring_lecture_10

.pdf
Скачиваний:
8
Добавлен:
20.04.2015
Размер:
143 Кб
Скачать
☆

Объектно-ориентированное программирование

с использованием C++

Полевой Дмитрий Валерьевич к.т.н., доцент КиК

e-mail: oop.misis@gmail.com

Псевдоним типа (typedef)

•typedef OldType NewType;

•определяет псевдоним типа, но не вводит новый тип

•часто используется

–для сокращения кода, в т.ч. за счет подстановки параметров шаблонов

–для сокрытия деталей реализации

14.04.2012

cppNewb.ru

2

Псевдоним типа (примеры)

typedef unsigend int size_t;

typedef basic_string<char> string;

14.04.2012

cppNewb.ru

3

Вложенные типы

•определяются внутри определения типа (класс, структура)

•подчиняются спецификаторам доступа

•доступ с помощью оператора разрешения области видимости

•в т.ч. для typedef

14.04.2012

cppNewb.ru

4

Вложенные типы (пример)

class Container

{

public:

typedef long SizeType;

...

private:

class Node

{

...

14.04.2012

cppNewb.ru

5

Обобщенное программирование

•Остерн М.Г.

Обобщенное программирование и STL. Использование и наращивание стандартной библиотеки шаблонов C++

•Александреску А.

Современное проектирование на С++: Обобщенное программирование и прикладные шаблоны проектирования

STL

14.04.2012

cppNewb.ru

6

Типы указателей

•обычный

•сингулярный (нулевой)

–нельзя разыменовывать

–можно проверять на равенство

•следующий за последним в массиве

–нельзя разыменовывать

–можно использовать в арифметике указателей и сравнениях

14.04.2012

cppNewb.ru

7

Диапазон (указателей)

•[first, last) состоит из всех указателей (элементов) от first до last, не включая last

•является допустимым

–last достижим из first

–можно разыменовывать все указатели

–пустой диапазон [p, p) является допустимым

14.04.2012

cppNewb.ru

8

Диапазон (объектов)

•[first, last) состоит из всех объектов

(элементов) от *first до *(last-1)

включительно

•является допустимым

–last достижим из first

–можно получить адрес каждого объекта

–пустой диапазон [p, p) является допустимым

14.04.2012

cppNewb.ru

9

Свойства диапазонов

•если непустой диапазон [first, last) является допустимым, то [first+1, last) является допустимым

•если [first, last) допустимый и указатель mid

достижим из first, last достижим из mid, то

[first, mid) и [mid, last) допустимые

•если [first, mid) и [mid, last) допустимые, то [first, last) допустимые

14.04.2012

cppNewb.ru

10