Выбрать главу

Указатель на член класса (pointer to member). Инкапсулирует тип класса, а также тип элемента, на который он указывает. Определение указателя на член класса должно содержать имя класса, а также тип элемента (элементов), на который он может указывать.

Т C::*pmem = &С::{member};

Это выражение определяет указатель pmem, который способен указывать на члены класса по имени С, которые имеют тип T, и инициализирует его адресом члена класса С по имени member. Перед обращением к значению такого указателя он должен быть предварительно связан с объектом или указателем класса С.

classobj.*pmem;

classptr->*pmem;

Обращение к члену member объекта classobj или указателя classptr.

Функцияfree(). Низкоуровневая функция освобождения памяти, определенная в заголовке cstdlib. Функция free() может использоваться для освобождения только той памяти, которая зарезервирована функцией malloc().

Функцияmalloc(). Низкоуровневая функция резервирования памяти, определенная в заголовке cstdlib. Зарезервированную функцией malloc() память следует освобождать функцией free().

Шаблонmem_fn. Библиотечный шаблон класса, создающий вызываемый объект из переданного указателя на функцию-член.

Приложения 

Приложение A

Библиотека

Это приложение содержит дополнительные сведения об алгоритмах и разделе случайных чисел библиотеки. В начале приведена табл. А.1, содержащая имена и заголовки стандартной библиотеки, упоминаемые в книге.

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

В разделе 17.4 была описана библиотечная архитектура для случайных чисел, а также приведены примеры использования распределений нескольких типов. Библиотека определяет несколько процессоров случайного числа и двадцать распределений различных видов. В этом приложении перечислены все процессоры и распределения.

А.1. Имена и заголовки стандартной библиотеки

В программах этой книги директивы #include, необходимые для их компиляции, практически нигде не приводились. Для удобства читателей в табл. А.1 перечислены все использованные в программах книги библиотечные имена и заголовки, в которых они определены.

Таблица А.1. Имена и заголовки стандартной библиотеки

Имя Заголовок
abort <cstdlib>
accumulate <numeric>
allocator <memory>
array <array>
auto_ptr <memory>
back_inserter <iterator>
bad_alloc <new>
bad_array_new_length <new>
bad_cast <typeinfo>
begin <iterator>