GCC C++ 编译器(也包括许多其他 C++ 编译器)提供非标准扩展,例如
alloca()
基于堆栈的分配- 可变长度数组,因为它们是 C 标准的一部分
从基本的角度来看,这些可以在 C++20 协程中使用吗?有可能吗?如果是的话,这是如何实现的?
据我了解,C++20 协程通常会在第一次调用时(即创建承诺对象时)为协程创建堆栈帧,因此需要知道协程堆栈帧的大小。
然而,这不能很好地与 alloca 或其他运行时动态堆栈分配一起使用。
那么有没有可能,如果有,它是如何实施的?或者有什么影响?