Пространства имён
Варианты
Действия

std::allocate_shared

Материал из cppreference.com
< cpp‎ | memory‎ | shared ptr

 
 
 
 
 
Определено в заголовочном файле <memory>
template< class T, class Alloc, class... Args >
shared_ptr<T> allocate_shared( const Alloc& alloc, Args... args );
Создает объект типа T и оборачивает его в std::shared_ptr использованием args как список параметров для конструктора T.
Оригинал:
Constructs an object of type T and wraps it in a std::shared_ptr using args as the parameter list for the constructor of T.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Все распределения памяти осуществляется с помощью копии alloc, которая удовлетворяет требованиям Allocator.
Оригинал:
All memory allocation is done using a copy of alloc, which satisfies the Allocator requirements.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

Содержание

[править] Параметры

alloc - The Allocator to use.
args... -
Список аргументов, с которыми экземпляр T будет построен .
Оригинал:
list of arguments with which an instance of T will be constructed.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Возвращаемое значение

std::shared_ptr экземпляра типа T.
Оригинал:
std::shared_ptr of an instance of type T.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Исключения

Можете бросить исключения из Alloc::allocate() или из конструктора T.
Оригинал:
Can throw the exceptions thrown from Alloc::allocate() or from the constructor of T.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] Заметки

Эта функция выделяет память для T объекта и для блока управления shared_ptr с одной распределения памяти. В отличие от декларации std::shared_ptr<T> p(new T(Args...)) выполняет две выделения памяти, которая может понести ненужные накладные расходы.
Оригинал:
This function allocates memory for the T object and for the shared_ptr's control block with a single memory allocation. In contrast, the declaration std::shared_ptr<T> p(new T(Args...)) performs two memory allocations, which may incur unnecessary overhead.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.
Копия alloc сохраняется как часть блока управления, так что она может быть использована для освобождения его один раз как общие, так и слабые счетчик ссылок достигает нуля.
Оригинал:
A copy of alloc is stored as part of the control block so that it can be used to deallocate it once both shared and weak reference counts reach zero.
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

[править] См. также

создает новый shared_ptr
(public функция-член) [edit]
создает общий указатель, который управляет новый объект
Оригинал:
creates a shared pointer that manages a new object
Текст был переведён автоматически используя Переводчик Google.
Вы можете проверить и исправить перевод. Для инструкций щёлкните сюда.

(шаблон функции) [edit]