将
std::is_empty<std::tuple<Args...>>::value
Run Code Online (Sandbox Code Playgroud)
如果每个类型都Args为空,则返回true ?gcc 4.9中的快速测试表明情况确实如此,但标准是否需要?
不,没有要求tuple使用继承来启用空基类优化.
元组库的唯一文本规范是:
本小节描述了元组库,它提供元组类型作为可以使用任意数量的参数实例化的类模板元组.每个模板参数指定元组中元素的类型.因此,元组是异构的,固定大小的值集合.具有两个参数的元组实例化类似于具有相同两个参数的对的实例化.
没有提及任何实施细节; 并且模板规范开始:
template <class... Types>
class tuple {
Run Code Online (Sandbox Code Playgroud)
没有指定它必须从任何东西继承.