我读过它是基于Boost的版本的,但是我不确定它到底是什么意思。我知道Boost会做自己的可变参数模板,但我假设c++ 0x会将自己的可变参数模板用于新元组。
最佳答案
C++ 0x标准草案中的tuple
使用C++ 0x可变参数模板。声明为(§20.4.1):
template <class... Types> class tuple;
但是请注意,TR1语言扩展还包括
tuple
,它不使用可变参数模板,因为编写TR1时没有这样的东西。在TR1中,tuple
声明为(§6.1):template <class T1 = unspecified ,
class T2 = unspecified ,
...,
class TM = unspecified > class tuple;
其中
M
是一些实现定义的值,至少应为10。TR1并不是C++语言的正式组成部分,但许多最新的实现都支持它。如果您的实现尚不支持可变参数模板,则可能支持TR1
tuple
。您可以下载最新的标准草案Final Committee Draft(10.5 MB PDF链接)。