Сообщение Re[7]: C++17: new с выравниванием - как удалять по феншую? от 29.12.2018 10:02
Изменено 29.12.2018 11:23 night beast
Re[7]: C++17: new с выравниванием - как удалять по феншую?
Здравствуйте, uzhas, Вы писали:
V>>Если кривым механизмом ты называешь весь этот конандрум с new expression и перегружаемым оператором new, который существовал в С++ со времен CFront, то ты прав.
U>тем не менее исходный вопрос от ТС актуален, пусть даже с неудобствами, но код ведь можно написать. а то развели демагогию
U>повторю: покажите конкретный (и корректный) код освобождения объекта
стандартным способом освобождения при использовании перегруженных операторов new и delete:
явный вызов деструктора + явный вызов перегруженного оператора удаления.
V>>Если кривым механизмом ты называешь весь этот конандрум с new expression и перегружаемым оператором new, который существовал в С++ со времен CFront, то ты прав.
U>тем не менее исходный вопрос от ТС актуален, пусть даже с неудобствами, но код ведь можно написать. а то развели демагогию
U>повторю: покажите конкретный (и корректный) код освобождения объекта
стандартным способом освобождения при использовании перегруженных операторов new и delete:
явный вызов деструктора + явный вызов перегруженного оператора удаления.
Re[7]: C++17: new с выравниванием - как удалять по феншую?
Здравствуйте, uzhas, Вы писали:
V>>Если кривым механизмом ты называешь весь этот конандрум с new expression и перегружаемым оператором new, который существовал в С++ со времен CFront, то ты прав.
U>тем не менее исходный вопрос от ТС актуален, пусть даже с неудобствами, но код ведь можно написать. а то развели демагогию
U>повторю: покажите конкретный (и корректный) код освобождения объекта
стандартным способом освобождения при использовании перегруженных операторов new и delete:
явный вызов деструктора + явный вызов перегруженного оператора удаления.
как-то так:
V>>Если кривым механизмом ты называешь весь этот конандрум с new expression и перегружаемым оператором new, который существовал в С++ со времен CFront, то ты прав.
U>тем не менее исходный вопрос от ТС актуален, пусть даже с неудобствами, но код ведь можно написать. а то развели демагогию
U>повторю: покажите конкретный (и корректный) код освобождения объекта
стандартным способом освобождения при использовании перегруженных операторов new и delete:
явный вызов деструктора + явный вызов перегруженного оператора удаления.
как-то так:
template<typename T, typename... Args>
void release(T *ptr, Args... args)
{
ptr->~T();
operator delete(ptr, std::forward<Args>(args)...);
}