Управление динамической памятью
Материал из cppreference.com
< cpp
Содержание |
[править] Умные указатели
Умные указатели предоставляют автоматическое управление временем жизни объекта, безопасное в случае возникновения исключений.
Заголовочный файл
<memory> | |
Категории указателей | |
(C++11) |
умный указатель единоличного владения объектом (шаблон класса) |
(C++11) |
умный указатель разделяемого владения объектом (шаблон класса) |
(C++11) |
слабая ссылка на объект, управляемый std::shared_ptr (шаблон класса) |
(устарело) |
умный указатель со строгой семантикой владения объектом (шаблон класса) |
Вспомогательные классы | |
(C++11) |
предоставляет упорядочивание смешанного типа, основанное на владении объектом для разделяемых и слабых указателей (шаблон класса) |
(C++11) |
позволяет объекту создавать shared_ptr , ссылающиеся на самого себя (шаблон класса) |
(C++11) |
исключение при обращении к weak_ptr , который ссылается на уже удаленный объект (класс) |
(C++11) |
умолчанию Deleter для unique_ptr Оригинал: default deleter for unique_ptr Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
[править] Аллокаторы
Аллокаторы – шаблоны классов, инкапсулирующие стратегию распределения памяти. Это позволяет обобщенным контейнерам отделить управление памятью от фактических данных.
Заголовочный файл
<memory> | |
the default allocator (шаблон класса) | |
(C++11) |
предоставляет информацию о распределитель типа Оригинал: provides information about allocator types Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
(C++11) |
тег типа используются для выбора распределитель-Aware перегрузок конструктора Оригинал: tag type used to select allocator-aware constructor overloads Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
(C++11) |
Объект типа std::allocator_arg_t используется для выбора распределитель-Aware конструкторов Оригинал: an object of type std::allocator_arg_t used to select allocator-aware constructors Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (константа) |
(C++11) |
проверяет, является ли указанный тип поддерживает использование-распределитель строительства Оригинал: checks if the specified type supports uses-allocator construction Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
Заголовочный файл
<scoped_allocator> | |
(C++11) |
реализует многоуровневую распределитель для многоуровневых контейнеров Оригинал: implements multi-level allocator for multi-level containers Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
[править] Неинициализированные хранилища
Несколько вспомогательных функций, предоставленных для создания и управления необработанными данными.
Заголовочный файл
<memory> | |
Копирует диапазон объектов неинициализированной области памяти Оригинал: copies a range of objects to an uninitialized area of memory Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
(C++11) |
копирует число объектов неинициализированной области памяти Оригинал: copies a number of objects to an uninitialized area of memory Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
копирует объект неинициализированной области памяти Оригинал: copies an object to an uninitialized area of memory Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
копирует объект неинициализированной области памяти Оригинал: copies an object to an uninitialized area of memory Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
Итератор, который позволяет стандартным алгоритмам для хранения результатов в неинициализированной памяти Оригинал: an iterator that allows standard algorithms to store results in uninitialized memory Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) | |
получает неинициализированные хранения Оригинал: obtains uninitialized storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) | |
освобождает неинициализированные хранения Оригинал: frees uninitialized storage Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
[править] Поддержка сборки мусора
Заголовочный файл
<memory> | |
(C++11) |
заявляет, что объект не может быть использован повторно Оригинал: declares that an object can not be recycled Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
(C++11) |
заявляет, что объект может быть переработан Оригинал: declares that an object can be recycled Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
(C++11) |
заявляет, что область памяти не содержит прослеживается указателей Оригинал: declares that a memory area does not contain traceable pointers Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
(C++11) |
отменяет действие std::declare_no_pointers Оригинал: cancels the effect of std::declare_no_pointers Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
(C++11) |
список моделей указатель безопасности Оригинал: lists pointer safety models Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (класс) |
(C++11) |
возвращает текущую модель безопасности указателя Оригинал: returns the current pointer safety model Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
[править] Разное
Заголовочный файл
<memory> | |
(C++11) |
предоставляет информацию об указателях, как типы Оригинал: provides information about pointer-like types Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон класса) |
(C++11) |
получает фактический адрес объекта, даже если и оператор перегружен Оригинал: obtains actual address of an object, even if the & operator is overloaded Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (шаблон функции) |
(C++11) |
выравнивает указатель в буфере Оригинал: aligns a pointer in a buffer Текст был переведён автоматически используя Переводчик Google. Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда. (функция) |
[править] Управление памятью с стиле C
Помимо прочего, включает в себя std::malloc, std::free
[править] Низкоуровневое управление памятью
Помимо прочего, включает в себя оператор new
, оператор delete
, std::set_new_handler