variadic-functions相关内容
我写一个简单的类来测量函数的时间性能。用户应该能够发送指针到他的函数,函数的参数,调用函数的次数,我将调用函数,返回经过的时间。这里我的问题是我不知道用户的功能需要多少参数!我想使用可变函数获取未知数量的参数,但是我仍然有一个问题,声明用户传递作为参数的函数指针(因为它不具有常量变量号),并且不知道通过使用的变量的类型一个可变的函数。 它不应该难,我猜:)所有我想做的是调用一个函数,它不是由
..
我写一个简单的类来测量函数的时间性能。用户应该能够发送指针到他的函数,函数的参数,调用函数的次数,我将调用函数,返回经过的时间。这里我的问题是我不知道用户的功能需要多少参数!我想使用可变函数获取未知数量的参数,但是我仍然有一个问题:声明用户作为参数传递的函数指针(因为它没有常量变量数),并且不知道通过使用的变量类型一个可变的函数。 它不应该难,我猜:)所有我想做的是调用一个函数,它不是由我定
..
对不起,标题是一个口。我正在处理类似于此处讨论的数组类。我想定义一个“映射”函数,它接受用户定义的函数并将其应用于数组的每个元素。为了进行类型检查,我想定义它,使用户指定的函数必须使用与传递给map函数相同数量的参数,以便 double f(double a,double b){return a + b; } Array x,y,z; x.map(f,y,z);
..
我需要一种方法在这种情况下将一个可变量的参数传递给一个函数: template T CheckLuaValue(lua_State * luaState,int index) { // Do Stuff 返回值; } templa
..
对于这个非可变的例子: int Func1 double Func2(); void MyFunc(int,double); int main() { MyFunc(Func1(),Func2()); // ... } $ c> Func1()或首先计算Func2(),只是两者必须在 MyFunc pre> temp
..
对于这个非可变的例子: int Func1 double Func2(); void MyFunc(int,double); int main() { MyFunc(Func1(),Func2()); // ... } $ c> Func1()或首先计算Func2(),只是两者必须在 MyFunc pre> temp
..
我试图在使用不透明数据类型的旧C-API周围创建一个C ++便利包装。有一个特定的C函数采用格式字符串,以及使用C 设施的可变数量的参数。作为我的包装器的一部分,我想能够传递任意数量的参数(包括C ++对象)到这个函数。然而,由于显然 设施不能使用非POD数据,我创建了一个模板转换函数,它转换C ++对象(如 std :: string )转换为POD
..
我试图写一个函数,它接受各种字符串或数字(使用 std :: to_string 并连接它们。 我的代码是这样调用的: stringer(“hello”,“world”,2,15,0.2014,“goodbye”,“world”) 这里是我有: inline std :: string stringer :string& string) { return string
..
原谅我,如果这已经回答了,因为我找不到它... 基本上我有一个对象,需要一个可变参数列表在它的构造函数中,并将参数存储在向量中。如何从可变参数构造函数的参数初始化一个向量? class GenericNode { public: GenericNode(GenericNode * ... inputs){ / *有点像... * / // inputs_.push_back
..
说我有一个函数,它接受可变数量的参数:我想从其他地方调用这个函数,构建参数列表,但不知道提前需要多少参数。 抱歉,解释不太清楚,希望这个程式码能让我的问题更清楚: void foo(int n,...){ va_list vl; va_start(vl,n); for(int i = 0; i //对每个传递的变量执行操作 } } 该函数正在从这个
..
我正在尝试使用variadic模板函数,它接受参数重载函数及其参数: (int a){return a; } int sumall(int a,int b){return a + b; } template R doit(R(* f)(A ...),A ... a){ return f(a ...); }
..
在c ++ 11中引入了可变参数模板。我发现printf函数可以用它替换。 然而,cout在实现中使用。我想知道是否可以使用别的东西来实现类型安全,但不牺牲太多的性能。 void safe_printf char * s) { while(* s){ if(* s =='%'){ if(*(s + 1)==' '){ ++ s; } else { throw“无效格式字
..
我已经知道 stdarg.h 方法可以在c ++中使用变量参数的函数这里。 我也知道c ++ 11标准有可变参数模板,这里。 但是在上述两种方案中,我们不知道(我们不能强制)在编译时afaik的参数类型。我正在寻找的是传递已知类型的变量参数到函数。我认为这是可以做到的,因为我阅读了这里: Variadic模板,也可以用来创建函数采用可变数量的参数,通常是更好的选择,因为它们不强制限制
..
概要 给定一个具有可变参数模板构造函数的类型,它将参数转发给一个实现类,是否可以限制使用SFINAE转发的类型? p> 详细信息 首先,考虑一个构造函数采用通用引用的非可变情况。这里可以禁止通过SFINAE转发非常量值引用,以使用复制构造函数。 struct foo { foo()= default; foo(foo const&) { std :: c
..
我玩C ++ 0x一段时间,现在我想使用可变参数模板和元组来实现类“任务”。我要将任务对象传递到新创建的线程(使用pthread)。任务类将包含函数的函数指针,该函数应该在线程和函数的参数内调用,简化代码: class TaskCaller { // ... virtual bool dispatch(void); }; template
..
我正在使用一个名为 group_by 的递归地图类来建模SQL名称。 例如,gb是一个 group_by 对象,它将存储指向 foo 的指针c> std :: string , int 和 char 。 group_by gb; group_by 提供 at(I const& key)存取器方法,可用于查
..
我一直在想,什么是可变参数优于初始化列表的优点。两者都提供相同的能力 - 向函数传递无限数量的参数。 我个人认为初始化列表有点更优雅。语法不那么尴尬。 此外,看起来初始化列表的性能随着参数数量的增加明显更好。 那么我缺少什么,除了在C中使用可变参数的可能性吗? 解决方案 参数你的意思是椭圆(如 void foo(...)),那么它们或多或少由可变参数模板通过初始化器列表
..
我创建一个函数(可能是成员函数,不是很重要...也许它吗?),需要接受未知数量的参数,但我想让他们是相同的类型。我知道我可以传入一个数组或向量,但我想能够直接接受args的列表,没有额外的结构,甚至额外的方括号。它看起来不像可变函数本身是类型安全的,我不知道如何去这个w /可变参数模板函数。这实际上是我的目标(更有可能不正确的代码,完全不是为了获得列表的龙,lol): // typedef
..
我想写一个简单的加法器(用于giggles),它将每个参数相加,并返回一个具有适当类型的和。 目前,我有: #include using namespace std; template T sum(const T& in) { return in; } template
..
我在哪里可以得到有关实现我自己的方法具有省略号信息, 例如 静态无效my_printf(字符*格式,...){} 也就是所谓的省略号还是有鸽友名字? 解决方案 有一个看的
..