c ++ 17 — alloca () с VLA и переполнением стека

Единственный alloca() замена для C ++, которую я нашел в Интернете, выглядит примерно так:

template <typename F>
void alloca_(::std::size_t const n, F&& f) noexcept(noexcept(f({})))
{
alignas(::std::max_align_t) char p[n];

f(p);
}

Но, очевидно, это не alloca() мы знаем и любим, это не функция и не макрос. Может alloca() реализация, которая напоминает alloca() семантика вызова функции более подробно, быть написано? Возможно, как макрос? Будь то макрос или функция, он должен выделять пространство из стека, а не кучи.

0

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …