Size: a a a

2021 July 13

VS

Vlad Serebrennikov in supapro.cxx
а их выделение — не обязательно
источник

VS

Vlad Serebrennikov in supapro.cxx
спасибо
интересно, почему оно еще не в стандарте
источник

SS

Sergey Skvortsov in supapro.cxx
Зачем?
источник

K

Kelbon in supapro.cxx
выделение я и не спрашивал... Мне просто тут затирают, что удаление выделенного new char[N] через delete это паника гроб могила
источник

D

Dmitriy in supapro.cxx
По делу затирают
источник

VS

Vlad Serebrennikov in supapro.cxx
чтобы placement array new можно было пользоваться?
источник

AS

Anatoly Shirokov in supapro.cxx
таки чего бы это было не паникой? :)
источник

SS

Sergey Skvortsov in supapro.cxx
Только для trivially destructible типов?
источник

SS

Sergey Skvortsov in supapro.cxx
Очень странно будет выглядеть
источник

VS

Vlad Serebrennikov in supapro.cxx
если выделение памяти для массивов делает что-то необычное (array allocation overhead, например), то и освобождать эту память нужно так, чтобы об этом необычном знали. иначе гроб, да
источник

VS

Vlad Serebrennikov in supapro.cxx
можно вообще array allocation overhead выкинуть, конечно. но речь о стандартизации используемых практик

и что странного в требовании trivially destructible самом по себе? похожее есть для implicit lifetime, и ничего
источник

K

Kelbon in supapro.cxx
ну так в итоге там будет что, утечка памяти или чего?
источник

D

Dmitriy in supapro.cxx
UB там будет
источник

D

Dmitriy in supapro.cxx
От утечки до падения самолетов
источник

VS

Vlad Serebrennikov in supapro.cxx
и ожидаемого поведения
источник

TS

Till Schneider in supapro.cxx
лайфтайм объекта не будет корректно завершен
источник

d.

depth_researcher_ ..... in supapro.cxx
Потому ,что delete вызывает деструктор у 1го объекта,а остальные где-то висят?
источник

K

Kelbon in supapro.cxx
деструктор char?
источник

с

смкх in supapro.cxx
For the first (non-array) form, expression must be a pointer to an object type or a class type contextually implicitly convertible to such pointer, and its value must be either null or pointer to a non-array object created by a new-expression, or a pointer to a base subobject of a non-array object created by a new-expression. If expression is anything else, including if it is a pointer obtained by the array form of new-expression, the behavior is undefined. 

https://en.cppreference.com/w/cpp/language/delete
источник

TS

Till Schneider in supapro.cxx
Так такого деструктора у простых типов нет, поэтому здесь дело не совсем в нем)
Скажем так, если объект был создан одним способом, то он должен быть уничтожен парным ему методом

Для new это delete, для new[] это delete[], аналогично
Если создаёшь через placement new и вызываешь кторы, то должны быть явно вызваны и дторы
источник