我读到它是基于Boost 的版本,但我不太确定它在实施时意味着什么。我知道 Boost 有自己的可变参数模板,但我认为 c++0x 会为新元组使用自己的可变参数模板。
问问题
586 次
1 回答
6
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
。
您可以下载最新的标准草案,最终委员会草案(10.5 MB PDF 链接)。
于 2010-08-17T13:08:50.507 回答