Можем ли мы использовать alloca() или расширения массива переменной длины в сопрограммах C++20?C++

Программы на C++. Форум разработчиков
Anonymous
Можем ли мы использовать alloca() или расширения массива переменной длины в сопрограммах C++20?

Сообщение Anonymous »

Компилятор GCC C++ (а также многие другие компиляторы C++) предоставляют нестандартные расширения, такие как
  • Код: Выделить всё

    alloca()
    для распределения на основе стека
  • массивы переменной длины, поскольку они являются частью стандарта C
Можно ли их использовать внутри сопрограмм C++20 с фундаментальной точки зрения? Это вообще возможно? И если да, то как это реализуется?
Насколько я понял, сопрограммы C++20 обычно создают кадр стека для сопрограммы при первом вызове (т.е. когда обещание объект создан) и, следовательно, необходимо знать размер кадра стека сопрограммы.
Однако это не очень хорошо сочетается с alloca или другим динамическим распределением стека во время выполнения.
Так возможно ли это и если да, то как это реализуется? Или каковы последствия?

Подробнее здесь: https://stackoverflow.com/questions/675 ... coroutines

Вернуться в «C++»