<memory>
Определяет класс, оператор и несколько шаблонов, позволяющих выделять и освобождать объекты.
Требования
Заголовок:<память>
Пространство имен: std
Участники
Функции
Имя | Описание |
---|---|
addressof | Получает истинный адрес объекта. |
align | Возвращает указатель на диапазон заданного размера на основе указанного выравнивания и начального адреса. |
allocate_shared | Создает shared_ptr для объектов, выделенных и созданных для заданного типа с указанным распределителем. |
atomic_compare_exchange_strong | |
atomic_compare_exchange_weak | |
atomic_compare_exchange_strong_explicit | |
atomic_compare_exchange_weak_explicit | |
atomic_exchange | |
atomic_exchange_explicit | |
atomic_is_lock_free | |
atomic_load | |
atomic_load_explicit | |
atomic_store | |
atomic_store_explicit | |
const_pointer_cast | Постоянное приведение к shared_ptr . |
declare_no_pointers | Сообщает сборщику мусора, что символы, начинающиеся с указанного адреса и попадающие в блок указанного размера, не содержат трассируемых указателей. |
declare_reachable | Уведомляет сборщик мусора, что указанный адрес относится к выделенной памяти и является доступным. |
default_delete | Удаляет объекты, выделенные с помощью operator new . Подходит для использования с unique_ptr . |
destroy_at | Сокращенный destroy метод. |
destroy | Сокращенный destroy метод. |
destroy_n | Сокращенный destroy метод. |
dynamic_pointer_cast | Динамическое приведение к shared_ptr . |
get_deleter | Получение метода удаления из shared_ptr . |
get_pointer_safety | Возвращает тип безопасности указателя, подразумеваемый любым сборщиком мусора. |
get_temporary_buffer | Выделяет временное хранилище для последовательности элементов, которая не превышает заданное число элементов. |
make_shared | Создает и возвращает shared_ptr , указывающий на объект, для которого выделена память, созданный из нуля или нескольких аргументов с помощью распределителя по умолчанию. |
make_unique | Создает и возвращает unique_ptr, указывающий на выделенный объект, созданный из нуля или нескольких аргументов. |
pointer_safety | Перечисление всех возможных возвращаемых значений для get_pointer_safety . |
return_temporary_buffer | Отменяет выделение временной памяти, выделенной с помощью функции шаблона get_temporary_buffer . |
static_pointer_cast | Статическое приведение к shared_ptr . |
swap | Обмен двух объектов shared_ptr или weak_ptr . |
undeclare_no_pointers | Сообщает сборщику мусора, что символы в блоке памяти, определенном указателем на базовый адрес и размером блока, теперь могут содержать трассируемые указатели. |
undeclare_reachable | Уведомляет garbage_collector , что указанная область памяти является недоступной. |
uninitialized_copy | Копирует объекты из указанного входного диапазона в неинициализированный конечный диапазон. |
uninitialized_copy_n | Создает копию заданного числа элементов из итератора ввода. Копии помещаются в прямой итератор. |
uninitialized_default_construct | Сокращенный uninitialized_default_construct метод. |
uninitialized_default_construct_n | Сокращенный uninitialized_construct метод. |
uninitialized_fill | Копирует объекты с указанным значением в неинициализированный конечный диапазон. |
uninitialized_fill_n | Копирует объекты с указанным значением в указанное число элементов в неинициализированном конечном диапазоне. |
uninitialized_move | Сокращенный uninitialized_move метод. |
uninitialized_move_n | Сокращенный uninitialized_move метод. |
uninitialized_value_construct | Сокращенный uninitialized_value_construct метод. |
uninitialized_value_construct_n | Сокращенный uninitialized_value_construct метод. |
uses_allocator_v |
Операторы
Имя | Описание |
---|---|
оператор!= | Проверяет на неравенство между объектами распределителя указанного класса. |
operator== | Проверяет на равенство объекты распределителя указанного класса. |
operator>= | Проверяет, является ли один объект распределителя больше или равным второму объекту распределителя указанного класса. |
operator< | Проверяет, является ли один объект распределителя меньше или равным второму объекту распределителя указанного класса. |
operator<= | Проверяет, является ли один объект меньше или равным второму объекту указанного класса. |
operator> | Проверяет, является ли один объект больше второго объекта указанного класса. |
operator<< | Вставляет shared_ptr . |
Классы
Имя | Описание |
---|---|
allocator | Шаблон класса описывает объект, который управляет выделением хранилища и освобождением массивов объектов типа Type. |
allocator_traits | Описывает объект, определяющий все сведения, необходимые контейнеру с распределителем. |
auto_ptr | Шаблон класса описывает объект, в котором хранится указатель на выделенный объект типа Type*, который гарантирует, что объект, к которому он указывает, удаляется при уничтожении его включающей auto_ptr. |
bad_weak_ptr | Сообщает о необрабатываемом исключении weak_ptr. |
enabled_shared_from_this | Помогает сформировать shared_ptr . |
pointer_traits | Предоставляет сведения, необходимые объекту типа allocator_traits для описания распределителя с типом Ptr указателя. |
raw_storage_iterator | Класс-адаптер, который предоставляется, чтобы алгоритмы могли сохранять свои результаты в неинициализированной памяти. |
shared_ptr | Помещает объект с динамическим выделением памяти в оболочку интеллектуального указателя с подсчитанными ссылками. |
unique_ptr | Хранит указатель на собственный объект. Указатель не принадлежит никаким другим unique_ptr . unique_ptr удаляется при удалении владельца. |
weak_ptr | Создает оболочку слабо связанного указателя. |
Структуры
Имя | Описание |
---|---|
allocator_arg_t | |
default_delete | |
hash | Предоставляет перегрузки, специализированные для unique_ptr и shared_ptr . |
owner_less | Разрешает смешанные сравнения общих и слабых указателей на основе собственности. |
uses_allocator |
Специализации
Имя | Описание |
---|---|
Пустота распределителя<> | Специализация распределителя шаблонов классов для типа void , определяющая только типы элементов, которые имеет смысл в этом специализированном контексте. |
См. также
Справочник по файлам заголовков
Потокобезопасность в стандартной библиотеке C++
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по