Распределители размещения и не размещения

Что такое функция размещения / освобождения размещения? Я читаю сек. 3.7.4.2 N3797 и столкнуться с размещение а также неразмещении распределение/открепление Функциональные понятия. Например:

Глобальный оператор delete с ровно одним параметром является обычным
(неразмещении) функция освобождения.

Я не смог найти определение этих понятий, и я предполагаю, что не-размещение — это функции, которые имеют одну из следующих сигнатур:

void* operator new(std::size_t);
void* operator new[](std::size_t);
void operator delete(void*);
void operator delete[](void*);
void operator delete(void*, std::size_t) noexcept;
void operator delete[](void*, std::size_t) noexcept;

Я правильно понял?

1

Решение

Определение размещения нового в N3797 в разделе 5.3.4.13:

Синтаксис нового размещения используется для предоставления дополнительных аргументов
функция распределения. Если используется, разрешение перегрузки выполняется на
вызов функции, созданный путем сборки списка аргументов, состоящего из
количество запрошенного пространства (первый аргумент) и выражения в
часть нового выражения нового размещения (вторая и
последующие аргументы). Первый из этих аргументов имеет тип
std :: size_t и остальные аргументы имеют соответствующие типы
выражений в новом размещении.

-1

Другие решения


По вопросам рекламы [email protected]