Запитання з тегом «placement-new»


2
Чи безпечно викликати розміщення нового на "this" для тривіального об'єкта?
Я знаю, що це питання вже задавали кілька разів, але я не зміг знайти відповіді на цей конкретний випадок. Скажімо, у мене є тривіальний клас, який не володіє жодними ресурсами та має порожній деструктор та конструктор за замовчуванням. Він має декілька змінних членів з ініціалізацією в класі; не одна з …

2
Варіація на тему вибору типу: тривіальна побудова на місці
Я знаю, що це досить поширена тема, але наскільки типовий UB легко знайти, я ще не знайшов цього варіанту. Отже, я намагаюся формально ввести об'єкти Pixel, уникаючи фактичної копії даних. Чи дійсно це? struct Pixel { uint8_t red; uint8_t green; uint8_t blue; uint8_t alpha; }; static_assert(std::is_trivial_v<Pixel>); Pixel* promote(std::byte* data, std::size_t …

1
Чи є нова (ця) ця класифікація () поганою ідеєю?
class FooView final : public Something { ... void refresh() { this->~FooView(); new (this) FooView(); } } Я ніколи не бачив цієї ідіоми, і мені здається, що вона може бути справді тонкою і безладною, але насправді я не можу думати про проблему з цим (доки FooViewвона остаточна). Це погана ідея?
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.