这只是我想了解更多有关 C++ 行为的好奇心。这有点不现实。
据我所知,对于模板,它可以用依赖于另一种类型的类型来声明
例如vector<T>
T 可以是任何类型,因此 T 可以继续依赖于其他类型。那么什么时候它会受到限制,例如编译器引发的错误?
这也和递归函数有同样的理解
无论如何,我可能是错的
最佳答案
C++ 标准没有对模板递归深度设置限制,但建议最小限制为 1024。
某些代码(例如 Boost Spirit、PyBind)可以通过复杂的语法或 Python 绑定(bind)来达到此限制。您也可以通过一些元编程轻松实现它。
使用GCC,您可以通过传递来控制递归限制
-ftemplate-depth=X
关于c++ - 最多支持多少个依赖类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67700541/