variadic-functions相关内容

是指向具有未知数量的参数的函数的指针可能吗?

我写一个简单的类来测量函数的时间性能。用户应该能够发送指针到他的函数,函数的参数,调用函数的次数,我将调用函数,返回经过的时间。这里我的问题是我不知道用户的功能需要多少参数!我想使用可变函数获取未知数量的参数,但是我仍然有一个问题,声明用户传递作为参数的函数指针(因为它不具有常量变量号),并且不知道通过使用的变量的类型一个可变的函数。 它不应该难,我猜:)所有我想做的是调用一个函数,它不是由 ..
发布时间:2016-10-25 15:05:58 C/C++开发

是指向具有未知数量的参数的函数的指针可能吗?

我写一个简单的类来测量函数的时间性能。用户应该能够发送指针到他的函数,函数的参数,调用函数的次数,我将调用函数,返回经过的时间。这里我的问题是我不知道用户的功能需要多少参数!我想使用可变函数获取未知数量的参数,但是我仍然有一个问题:声明用户作为参数传递的函数指针(因为它没有常量变量数),并且不知道通过使用的变量类型一个可变的函数。 它不应该难,我猜:)所有我想做的是调用一个函数,它不是由我定 ..
发布时间:2016-10-25 14:54:45 C/C++开发

如何使可变参数模板类方法接受函数指针作为参数,从函数模板派生类型?

对不起,标题是一个口。我正在处理类似于此处讨论的数组类。我想定义一个“映射”函数,它接受用户定义的函数并将其应用于数组的每个元素。为了进行类型检查,我想定义它,使用户指定的函数必须使用与传递给map函数相同数量的参数,以便 double f(double a,double b){return a + b; } Array x,y,z; x.map(f,y,z); ..
发布时间:2016-10-24 14:43:35 C/C++开发

使用Variadic模板打开参数列表

我试图在使用不透明数据类型的旧C-API周围创建一个C ++便利包装。有一个特定的C函数采用格式字符串,以及使用C 设施的可变数量的参数。作为我的包装器的一部分,我想能够传递任意数量的参数(包括C ++对象)到这个函数。然而,由于显然 设施不能使用非POD数据,我创建了一个模板转换函数,它转换C ++对象(如 std :: string )转换为POD ..
发布时间:2016-10-23 19:36:49 C/C++开发

将可变参数列表插入向量?

原谅我,如果这已经回答了,因为我找不到它... 基本上我有一个对象,需要一个可变参数列表在它的构造函数中,并将参数存储在向量中。如何从可变参数构造函数的参数初始化一个向量? class GenericNode { public: GenericNode(GenericNode * ... inputs){ / *有点像... * / // inputs_.push_back ..
发布时间:2016-10-22 19:02:19 C/C++开发

调用具有未知数量的参数的可变函数

说我有一个函数,它接受可变数量的参数:我想从其他地方调用这个函数,构建参数列表,但不知道提前需要多少参数。 抱歉,解释不太清楚,希望这个程式码能让我的问题更清楚: void foo(int n,...){ va_list vl; va_start(vl,n); for(int i = 0; i //对每个传递的变量执行操作 } } 该函数正在从这个 ..
发布时间:2016-10-19 21:26:26 C/C++开发

c ++ 11 Variadic Printf性能

在c ++ 11中引入了可变参数模板。我发现printf函数可以用它替换。 然而,cout在实现中使用。我想知道是否可以使用别的东西来实现类型安全,但不牺牲太多的性能。 void safe_printf char * s) { while(* s){ if(* s =='%'){ if(*(s + 1)==' '){ ++ s; } else { throw“无效格式字 ..
发布时间:2016-10-17 10:14:14 C/C++开发

一个函数具有可变数量的参数与已知类型,c ++ 11方式

我已经知道 stdarg.h 方法可以在c ++中使用变量参数的函数这里。 我也知道c ++ 11标准有可变参数模板,这里。 但是在上述两种方案中,我们不知道(我们不能强制)在编译时afaik的参数类型。我正在寻找的是传递已知类型的变量参数到函数。我认为这是可以做到的,因为我阅读了这里: Variadic模板,也可以用来创建函数采用可变数量的参数,通常是更好的选择,因为它们不强制限制 ..

(Im)使用可变模板完美转发

概要 给定一个具有可变参数模板构造函数的类型,它将参数转发给一个实现类,是否可以限制使用SFINAE转发的类型? p> 详细信息 首先,考虑一个构造函数采用通用引用的非可变情况。这里可以禁止通过SFINAE转发非常量值引用,以使用复制构造函数。 struct foo { foo()= default; foo(foo const&) { std :: c ..
发布时间:2016-10-16 14:31:55 C/C++开发

传递元组的内容作为可变函数参数

我玩C ++ 0x一段时间,现在我想使用可变参数模板和元组来实现类“任务”。我要将任务对象传递到新创建的线程(使用pthread)。任务类将包含函数的函数指针,该函数应该在线程和函数的参数内调用,简化代码: class TaskCaller { // ... virtual bool dispatch(void); }; template ..
发布时间:2016-10-14 21:33:24 C/C++开发

为什么在初始化器列表可用时使用可变参数?

我一直在想,什么是可变参数优于初始化列表的优点。两者都提供相同的能力 - 向函数传递无限数量的参数。 我个人认为初始化列表有点更优雅。语法不那么尴尬。 此外,看起来初始化列表的性能随着参数数量的增加明显更好。 那么我缺少什么,除了在C中使用可变参数的可能性吗? 解决方案 参数你的意思是椭圆(如 void foo(...)),那么它们或多或少由可变参数模板通过初始化器列表 ..

为使用数组,向量,结构等传递给可变函数或可变参数模板函数w / out的所有参数指定一个类型?

我创建一个函数(可能是成员函数,不是很重要...也许它吗?),需要接受未知数量的参数,但我想让他们是相同的类型。我知道我可以传入一个数组或向量,但我想能够直接接受args的列表,没有额外的结构,甚至额外的方括号。它看起来不像可变函数本身是类型安全的,我不知道如何去这个w /可变参数模板函数。这实际上是我的目标(更有可能不正确的代码,完全不是为了获得列表的龙,lol): // typedef ..
发布时间:2016-10-11 23:06:12 C/C++开发

省略号在C#中?

我在哪里可以得到有关实现我自己的方法具有省略号信息, 例如 静态无效my_printf(字符*格式,...){} 也就是所谓的省略号还是有鸽友名字? 解决方案 有一个看的 ..
发布时间:2016-10-04 17:04:04 C#/.NET