C++ 元编程:元组构造与函数对象的深入解析
元组构造
元组(Tuple)是一种强大的数据结构,在 C++ 中可以利用模板元编程技术来实现。为了给用户提供一个扁平的接口,我们可以定义一个递归的 Tuple 模板,该模板可以处理多达五个字段的元组。
为了支持不同大小的元组,我们引入了一个空类型 NullT 作为未使用类型参数的默认值。以下是 NullT 的定义:
// type that represents unused type parameters
class NullT {
};
Tuple 模板的定义如下:
template<typename P1,
typename P2 = NullT,
typename P3 = NullT,
typename P4 = NullT,
typename P5 = NullT>
class Tuple
: public Duo<P1, typename Tuple<P2,P3,P4,P5,NullT>::BaseT> {
public:
typedef Duo<P1, typename Tuple<P2,P3,P4,P5,NullT>::BaseT> BaseT;
// constructors:
超级会员免费看
订阅专栏 解锁全文
30

被折叠的 条评论
为什么被折叠?



