Re[3]: C++17: new с выравниванием - как удалять по феншую?
От: Vamp Россия  
Дата: 28.12.18 14:21
Оценка: 26 (2) +1
U>если было введено плюсовое выделение (привет типам, конструкторам и деструкторам), то обязаны были задизайнить и парную функцию (оператор?)
U>вариант с вызовом "operator delete....." я видел в этой ветке, но это что-то непарное, ибо не плюсовое (освобождает только память?)
Ты не прав. Никакого специального синтаксиса для new expression связанного с выравниванием не вводили. В данном случае то, что ты можешь использовать new expression с alignment — сайд-эффект функционала передачи параметров из new expression в operator new (которое раньше использовалось для placement new и, иногда, специальной тагированной аллокации)

U>"выравнивание — свойство типа" — это в данном контексте нерелевантное заявление. новый оператор new тому подтверждение. он явно принимает и тип и правила выравнивания

Нет. Следует различать new expression и operator new. Для new expression никаких специальных параметров выравнивания не вводили. Его просто обязали звать выровненный operator new если выравнивание типа превышает стандартное, и, как сайд-эффект, через уже существующий синтаксис можно звать выровненный operator new. А operator new — это сырой аллокатор, он ничего о типе не знает.
Да здравствует мыло душистое и веревка пушистая.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.