c_cpp 通用元组模板类
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了c_cpp 通用元组模板类相关的知识,希望对你有一定的参考价值。
#include <iostream>
#include <cstdarg>
// General Tuple template class
template<class T>
class Tuple
{
public:
Tuple(size_t len...): _count(len), _items(new T[_count])
{
va_list conArgs;
va_start(conArgs, len);
for(size_t i =0;i<len;i++)
{
_items[i] = va_arg(conArgs, T);
}
va_end(conArgs);
}
~Tuple()
{
delete[] _items;
}
T& operator[](size_t index)
{
return _items[index % _count];
}
size_t getCount(void) const
{
return _count;
}
private:
T* _items;
size_t _count;
};
int main() {
Tuple<int> nums(3, 5, 6, 7);
std::cout << nums.getCount() << std::endl;
std::cout << nums[2] << std::endl;
}
以上是关于c_cpp 通用元组模板类的主要内容,如果未能解决你的问题,请参考以下文章
c_cpp C ++中的通用容器可迭代数组类
c_cpp 复杂的模板类
c_cpp 链表类模板代码
如何通过使用可变模板参数来专门化元组的类模板?
通过 typescript 3.0 通用休息元组类型从类元组返回实例元组
collections