使用 std::tuple 构造基于向量的数据集是指可变变量模板
using std::tuple to construct a vector-based dataset refer to variadic-templates
我想制作一个如下所示的类模板:
template < typename... Args > class VectorTuple;
通过示例,
VectorTuple < long, double, string >
将实例化为
Tuple < vector < long >, vector < double > , vector < string > >
我不熟悉可变模板。最糟糕的方法是从元组>复制代码并对其进行修改<。有没有一种简单的方法可以直接使用 std::tuple 来定义我的 VectorTuple。
如果您正在寻找typedef
variadic-templates
类型,那么,
template<typename... Args>
using VectorTuple = std::tuple<std::vector<Args>...>;
现在你可以像使用它一样
VectorTuple<long, double, std::string> obj;
您可以使用参数包扩展将可变参数模板参数包T...
转换为 std::vector<T1>
、...、 std::vector<Tn>
。然后,使用 template<...> using
定义模板别名。
#include <vector>
#include <tuple>
template<typename... Ts> using VT = std::tuple< std::vector<Ts>... >;
void foo()
{
VT<int, float, double> x;
std::tuple< std::vector<int>, std::vector<float>, std::vector<double>> y = x;
}
相关文章:
- 如何实现高效的算法来计算大型数据集的多个不同值?
- 我可以在 C++ 中将数据成员/变量从其定义之外添加到结构中吗?
- HDF5Cpp 扩展复合数据集超板问题
- 从模板创建通用打印函数,以打印基元数据类型变量的值
- HDF5 简单读取数据集失败
- 逐行读取文件,并将数据插入变量和数组中
- std::bad_alloc 在大数据集的 Dijkstra 计算期间
- C++中的多维数据集:从 std::vector 的 2D 数据到 std::vector 的 2D 网格的最干净方法?
- C++创建空 HDF5 文件而不是数据集的代码
- 指针数据类型变量如何包含对象?
- 跨线程共享数据集与拆分每个线程的数据
- 多维数据集ai中的ai_float是什么
- 适用于频繁更改的大型数据集的最佳数据结构
- C++中的常量对象或私有/常量数据成员(变量)?
- 将数据集从 R 传递到C++(使用 .呼叫)
- 将数据集几乎平均分配给工作线程
- 我将 c++ 矢量数据集转换为 c 数组.我将相同的数据集传递到一个应该给出相同输出的函数中
- 使用 194 点海伦数据集训练 DLib 形状预测器
- 现代 OpenGL 多维数据集旋转未按预期工作
- 使用 std::tuple 构造基于向量的数据集是指可变变量模板