Указатель на член класса (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>
|