C++ 11之前的Variadic模板

MBZ*_*MBZ 5 c++ boost c++11

Boost如何在C++ 11和Variadic模板之前实现Tuple ?

换句话说:
是否可以通过不使用C++ 11中的内置Variadic模板功能来实现Variadic Templates类或函数?

Phi*_*ßen 5

Boost 对元组的大小有限制。在大多数实际场景中,您不需要超过 10 个元素,因此您不会介意这个限制。我猜,作为库维护者,可变参数模板的世界变得更加简单。没有更多的宏黑客...

下面是关于 Boost tuple 的大小限制及其实现的有见地的讨论: boost tuple:增加最大元素数

回答你的第二个问题:不,这是不可能的。至少不是无限数量的元素。

  • 从技术上讲,C++11 也不允许*无限*数量的元素。不同的是,最大数目是编译器内置的,它*远*大于10。它是由编译器的模板递归限制定义的。 (3认同)