должен ли я вернуть это дело через std::launder?
по-моему, нет это же новый указатель
тоесть если мы это юзаем в режиме пула обьектов. я снаружи него при каждом p = pool.create(....); вот в этой точке должен обмазываться std::launder?
отмывать нужно все прочие указатели на эту память после каждого вызова placement-new, если не удовлетворяются требования transparently replaceable
А стандарт-то какой? Судя по использованию typename ..::type - около 11-го. std::launder с 17-го появился (если интринсики компилятора не брать). С 20-го он вообще не нужен, кажется.
http://eel.is/c++draft/basic.memobj#basic.life-8
Обсуждают сегодня