创建这个函数模板
Creating this function template
我有一个简单的类模板与向量元组:
template <typename... T>
struct TupleOfVectors {
std::tuple<std::vector<T>...> tuple;
};
我可以这样使用:
TupleOfVectors<double, std::string> tuple;
auto vec0 = std::get<0>(tuple.tuple);
vec0.push_back(1.2);
auto vec1 = std::get<1>(tuple.tuple);
vec1.push_back("foo");
我想把它封装到类模板本身中。这是我真正想要使用的类模板:
tuple.vec<0>.push_back(1.2);
tuple.vec<1>.push_back("foo");
如何开发这样一个vec()
模板成员函数?
template <typename... Ts>
struct TupleOfVectors {
std::tuple<std::vector<Ts>...> tuple;
template< size_t N >
auto vec() -> decltype( std::get<N>(tuple) ) {
return std::get<N>(tuple);
}
};
TupleOfVectors<int, short, double, float> t;
t.vec<3>().push_back( 3.14f );
相关文章:
- 如何在c++中为模板函数实例创建快捷方式
- 使用C链接在函数内部创建C++模板
- 从模板创建通用打印函数,以打印基元数据类型变量的值
- 创建一个函数,该函数使用模板创建类或子类的对象
- 如何为自定义模板对象创建专门的函数模板
- 从类模板创建对象的工厂函数模板?
- 参数包推导不一致 int 和 int& 在可变参数模板化成员函数中创建运行成员函数的线程
- 如何编写模板函数来创建给定常量字符*的字符/wchar_t字符串?
- 在模板类构造函数中创建计数器
- 如何使用成员函数指针创建模板类
- 在C++中创建成员函数模板专用化
- 使用C++ 11 中的模板类型的成员函数指针创建方法参数
- 在函数模板中创建一个containor迭代器
- 基于模板C++创建转置矩阵函数
- 如何创建一个同时接受数组和向量引用的函数模板
- 有没有一种方法可以为std::array创建函数模板专用化
- 如何创建一个工厂函数模板来构造给定任意数量参数的对象
- 创建专门化函数模板的最佳方法是什么?
- 创建一系列显式函数模板实例化
- 创建这个函数模板