Результаты поиска по запросу "placement-new"

2 ответа

) и обратно к исходному типу возвращает исходное значение указателя. - конец примечания]

ли (семантическая) разница между возвращаемым значением размещения new и приведенным значением его операнда? struct Foo { ... }; char buffer[...]; Foo *a = new(buffer) Foo; Foo *b = reinterpret_cast<Foo *>(buffer);Есть лиa а такжеb чем-то ...

2 ответа

, Почему они требуются в интерфейсе ускользает от меня

мог найти точный ответ на этот вопрос и, следовательно, размещать здесь. Когда я думаю о векторе, он должен строить объекты в смежной области памяти. Это означает, что вектор сохраняет выделенную память и должен выполнить конструкцию на месте (= ...

2 ответа

Оба случая в ответе выше приводят к UB. В общем, идиомы следует избегать, потому что есть так много разных способов, которые могут привести к UB.

т мой вопрос@DeadMG говорит, что реинициализация класса через [https://stackoverflow.com/questions/6036086/is-it-valid-to-directly-call-a-virtual-destructor] указатель является неопределенным поведением. Есть ли где-нибудь упоминание об этом в ...

ТОП публикаций

2 ответа

Как напрямую прочитать огромный кусок памяти в std :: vector?

У меня есть огромный непрерывный массивx что яfread из файла. Как мне бросить этот кусок вstd::vector<>? Другими словами, я предпочитаю, чтобы результат был вstd::vector<> а не массив, но я хочу, чтобы результирующий код C ++ был столь же ...

2 ответа

Строгий псевдоним C ++, когда не используется указатель, возвращаемый путем размещения

Может ли это привести к неопределенному поведению? uint8_t storage[4]; // We assume storage is properly aligned here. int32_t* intPtr = new((void*)storage) int32_t(4); // I know this is ok: int32_t value1 = *intPtr; *intPtr = 5; // But can one ...

3 ответа

Опасно ли использовать размещение new на старом объекте без явного вызова деструктора первым?

3 ответа

Использование оператора new и оператора delete с пользовательским пулом памяти / распределителем

3 ответа

Является ли «повторное связывание» ссылок в C ++ таким законным?

Является ли следующее законным в C ++?Насколько я могу сказать,

3 ответа

Является ли это четко определенным / законным для размещения новых несколько раз по одному и тому же адресу?

(Примечание: этот вопрос был мотивирован попыткой создать хакерскую обработку препроцессора, чтобы сгенерировать неоперативное распределение, чтобы ответить на этот другой вопрос: Макрос, который принимает новый ...

3 ответа

Опасно ли использовать размещение new на старом объекте без явного вызова деструктора первым?

Я хотел бы переработать память для объекта, а не освобождать и реконструировать его. Является ли следующее использование «размещения нового» безопасным, предполагая, чтоFoo на практике не содержит указателей (но может содержать функции)? Кроме ...