Результаты поиска по запросу "placement-new"
Как напрямую прочитать огромный кусок памяти в std :: vector?
У меня есть огромный непрерывный массив
в любом случае, если объект не реализован в идиоме Handle-Worker.
У меня сложный класс со многими переменными. У меня есть надежный и проверенный экземпляр конструктора:Некоторые из конструкторов копирования переменных-членов, вызываемых в списке инициализаторов, выполняют распределение. Applepie::Applepie( ...
Опасно ли использовать размещение new на старом объекте без явного вызова деструктора первым?
Я хотел бы переработать память для объекта, а не освобождать и реконструировать его. Является ли следующее использование «размещения нового» безопасным, предполагая, чтоFoo на практике не содержит указателей (но может содержать функции)? Кроме ...
) и обратно к исходному типу возвращает исходное значение указателя. - конец примечания]
ли (семантическая) разница между возвращаемым значением размещения new и приведенным значением его операнда? struct Foo { ... }; char buffer[...]; Foo *a = new(buffer) Foo; Foo *b = reinterpret_cast<Foo *>(buffer);Есть лиa а такжеb чем-то ...
Ах, прости @iammilind :)
char * buf = new char[sizeof(T)]; new (buf) T; T * t = (T *)buf; //code... //here I should destruct *t but as it is argument of template and can be //instantiated via basic types as well (say int) so such code /*t->~T();*/ //is incorrect (maybe ...
Мне действительно нужно беспокоиться о выравнивании при использовании нового оператора размещения?
Я читал это Когда мне стоит беспокоиться о выравнивании? [https://stackoverflow.com/questions/6474316/when-should-i-worry-about-alignment] но я до сих пор не знаю, нужно ли мне беспокоиться о не выровненном указателе, возвращаемом оператором ...
Использование оператора new и оператора delete с пользовательским пулом памяти / распределителем
Я работаю над реализацией пула памяти / распределителя памяти и настраиваю ее в поместье, где только особый тип объекта «Клиент» может рисовать из пула. Клиент может быть либо создан непосредственно в пуле, либо может использовать пул ...
Передача нулевого указателя на размещение нового
Размещение по умолчаниюnew Оператор объявлен в 18.6 [support.dynamic] ¶1 с ненулевой спецификацией исключения: void* operator new (std::size_t size, void* ptr) noexcept;Эта функция не делает ничего, кромеreturn ptr; поэтому разумноnoexceptоднако ...
Является ли это четко определенным / законным для размещения новых несколько раз по одному и тому же адресу?
(Примечание: этот вопрос был мотивирован попыткой создать хакерскую обработку препроцессора, чтобы сгенерировать неоперативное распределение, чтобы ответить на этот другой вопрос: Макрос, который принимает новый ...