c++ - 最多支持多少个依赖类型?

标签 c++

这只是我想了解更多有关 C++ 行为的好奇心。这有点不现实。 据我所知,对于模板,它可以用依赖于另一种类型的类型来声明 例如vector<T> T 可以是任何类型,因此 T 可以继续依赖于其他类型。那么什么时候它会受到限制,例如编译器引发的错误? 这也和递归函数有同样的理解 无论如何,我可能是错的

最佳答案

C++ 标准没有对模板递归深度设置限制,但建议最小限制为 1024。

某些代码(例如 Boost Spirit、PyBind)可以通过复杂的语法或 Python 绑定(bind)来达到此限制。您也可以通过一些元编程轻松实现它。

使用GCC,您可以通过传递来控制递归限制

-ftemplate-depth=X

关于c++ - 最多支持多少个依赖类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67700541/

相关文章:

c++ - QT 概述/教程?

c++ - 如何从迭代器中获取列表

c++ - 将已知大小的参数 vector 应用于虚拟可变函数

c++ - 二进制表达式 ('RadioDevice' 和 'const RadioDevice' 的无效操作数)

c++ - 从 child 那里获取变量

c++ - 如何获取泛型类成员函数的函数指针?

c++ - 我不明白为什么这会导致我的程序崩溃?

c++ - 计算二维 vector C++ 中的结构元素

c++ - 没有样板复制代码的 C++ 中树数据结构的深层复制?