ICode9

精准搜索请尝试: 精确搜索
  • c – 以下Variadic模板行为是否不一致?2019-07-27 02:05:45

    我正在尝试以下示例来了解可变参数模板,并发现行为有些不一致. #include <iostream> #include <string> using namespace std; template<typename T> T adder(T v) { return v; } template<typename T, typename... Args> T adder(T first, Args... args) { return f

  • C将同类包装类型的元组转换为原始类型的元组2019-07-27 01:08:29

    我想将std :: apply()调用到函数中;但是,我无法,因为我使用的std :: tuple目前已被包装.例如: #include <tuple> template <class T> struct wrapped { wrapped(T t) : t(t) {} T t; }; template <class T, class ... Args> struct delay_call { T(*callback)(Args.

  • c – 文字运算符的模板参数列表2019-07-27 01:06:38

    这是我将二进制文字转换为十进制的实现: template<char Head, char... Tail> constexpr int operator"" _b() { if constexpr (sizeof... (Tail) == 0) { return Head - '0'; } else { return (Head - '0') * (1 <

  • c – 如何在整数参数包中获取第i个整数?2019-07-25 08:10:23

    如何获取整数参数包中的第i个整数?例如 template<int... Is> struct A { enum { CONSTANT_0 = Is[0] }; //Assume the sizeof...(Is) > the index requested }; 解决方法:像那样: template <size_t I, int N, int... R> struct pick : pick <I - 1, R...> { }; template

  • c – 无法为包装函数添加完美转发2019-07-25 06:08:31

    在回答this question时,我编写了这个工作代码,包装函数在模板参数中传递: template<typename Fn, Fn fn, typename... Args> auto wrapper(Args... args)->decltype(fn(args...)){ return fn(args...); } #define WRAPPER(FUNC) wrapper<decltype(&FUNC), &FUNC> 用法示例(我

  • c – 为什么在未评估的操作数内的包扩展会导致最后一个元素?2019-07-22 19:06:42

    我可以在decltype()中执行此操作: auto g() -> decltype(1, "", true, new int); 但不是这个: template <class... Args> auto g(Args&&... args) -> decltype(args...); 它失败是因为包扩展出现在decltype()中,但我认为包扩展会导致以逗号分隔的参数列表.因此,g(a,b,c)的返回类

  • 在C中的可变参数模板中获取可变参数size_t …参数的总和2019-07-22 17:04:46

    我试图在c中创建一个n维数组模板类(作为std :: array或c数组的包装器),为整个n维数组分配一个数组块(避免使用n个数组的n个数组的开销) ). 在这样做时,我希望我的模板采用以下格式,其中size表示每个维度的大小. template <class Type, size_t... sizes> class array_dimensional{

  • c – 不允许使用多个模板参数列表2019-07-22 14:07:40

    这是什么问题? struct fbe { char *fbtName; template<typename T, typename... vT> T(*funcptr)(T, vT... ); }; 在这样写的时候编译的区别是什么? template<typename T, typename... vT> struct fbe { char *fbtName; T(*funcptr)(T, vT... ); }; 我是使

  • c存储指针元组时遇到问题2019-07-22 13:08:24

    我有一个对象’S’存储一个简单的指针元组,通过使用可变参数模板使其变得灵活.有两种方法,store()和store2().第一个(商店)工作正常.第二个将无法编译,因为std :: make_tuple失败并显示错误: ‘调用’make_tuple’没有匹配函数 它进一步补充说,从“B *”到“B *&&”之间没有已知的对

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有