variadic-templates相关内容

C++模板std::tuple到VOID*并返回

我正在尝试使用C++11和各种模板创建一个资源管理器。问题是如何将std::tuple存储到集合并将其取回?在本例中,我尝试将其存储为VOID*(在此尽量不使用Boost::Any)。每次我转换回std::tuple时,我得到的强制转换的元组与从参数创建的元组相同(CurrentArgs==StoredArgs)。我认为下面的代码解释了一切。 http://ideone.com/h3yzvy ..
发布时间:2022-08-13 22:29:51 C/C++开发

获取多维访问的线性索引

我正在尝试实现一个多维std::数组,它保存一个大小为Dim-n-1*Dim-n-2*...*Dim-1的连续内存数组。为此,我使用来自std::数组: 的私有继承 constexpr std::size_t factorise(std::size_t value) { return value; } template constexpr std::s ..
发布时间:2022-04-16 19:39:11 C/C++开发

如何将C++和C变量参数一起使用?

通常,将C++11可变模板功能与函数一起使用时,要求基于可变的函数参数是函数参数列表中的最后一个。有一个例外;如果有C级可变参数,则它们是倒数第二个参数,而C级变量必须是最后一个。 template int super_printf( Something x, Args &&...a, ... ); 我有时会随机地想到C++,我想知道如何实现这 ..

获取C++函数参数类型

有没有一种标准的方法来获取函数参数的类型并将这些类型作为模板参数包进行传递?我知道这在C++中是可能的,因为it has been done before。 我希望在C++14或即将推出的C++1Z中,会有一种惯用的方式在这里实现arg_types...: template void some_function(); // Params ..
发布时间:2022-02-25 20:24:31 C/C++开发

将 std::tuple 用于模板参数列表而不是类型列表

我正在尝试调用这样的模板函数: typedef std::tuple仪器元组;缓存缓存;InstrumentTuple 元组 = cache.get(); 我知道我可以“简单地"传递元组的类型.这是我所知道的,但这很麻烦,因为我对这个函数进行了很多调用,而且元组很长: InstrumentTuple tuple = c.get();//我想避免的语法 ..

将 std::tuple 转换为模板参数包

我有一个 typedef std::tuple元组类型; 并且想使用类列表对于“模板". 假设我有: templatestd::tuple解析(std::istream &stream){返回 std::make_tuple(args(stream)...);} 并且我可以成功地使用它: auto my_tuple = parse(ifs); 如果我已经有一个, ..
发布时间:2022-01-20 00:05:16 C/C++开发

使用 std::make_tuple 时如何避免构造函数的未定义执行顺序

如果构造函数的执行顺序很重要,我该如何使用 std::make_tuple? 比如我猜A类的构造函数和B类的构造函数的执行顺序是未定义的: std::tuplet(std::make_tuple(A(std::cin), B(std::cin))); 我在阅读了对该问题的评论后得出了这个结论 将 std::tuple 转换为模板参数包 这就是说这个 templa ..
发布时间:2022-01-19 23:46:12 C/C++开发

有人可以解释一下“指数技巧"吗?

我注意到在漂亮打印元组的上下文中提到了“索引技巧".听起来很有趣,所以我关注了 链接. 好吧,那并不顺利.我理解这个问题,但真的无法理解发生了什么.为什么我们甚至需要任何东西的索引?那里定义的不同功能对我们有何帮助?什么是“裸"?等等 有人可以为参数包和可变元组方面的专家详细介绍该内容吗? 解决方案 问题是:我们有一个 std::tuple 并且我们有一些函数f 我们可以在每个 ..
发布时间:2022-01-19 23:42:00 C/C++开发

漂亮的打印 std::tuple

这是我之前关于漂亮打印STL容器,为此我们设法开发了一个非常优雅且完全通用的解决方案. 在下一步中,我想为 std::tuple 包括使用可变参数模板的漂亮打印(所以这严格来说是 C++11).对于std::pair,我简单说 std::ostream &运算符 & p){返回 o ..
发布时间:2022-01-19 23:36:29 C/C++开发

具有函数指针和可变参数模板的 CUDA 内核

我正在尝试设计一个 cuda 框架,该框架将接受用户函数并通过设备函数指针将它们转发到内核.CUDA 可以与可变参数模板 (-stc=c++11) 一起使用,到目前为止一切正常. 但是,当内核调用设备函数指针时,我遇到了问题.显然内核运行没有问题,但 GPU 使用率为 0%.如果我只是用实际函数替换回调指针,那么 GPU 使用率为 99%.这里的代码非常简单,大循环范围只是为了让事情变得可衡 ..
发布时间:2022-01-10 16:09:27 C/C++开发