function相关内容

堆还是堆?当在C ++中的函数调用中使用常量字符串时

考虑函数: char * func() { return“Some thing” ; } 是常量 string ( char 数组)“某事”存储在堆栈中作为函数调用的本地或堆? 我是 函数被多次调用,有多少副本“有事”在内存中? (和是堆还是堆栈?) 解决方案 字符串字面量“某事”是 const char * 因此,它们既不在堆上也不在栈上,而是在 ..
发布时间:2016-10-19 21:02:15 C/C++开发

虚拟函数对象切片

我的问题是参考此问题,其中解释了虚拟函数在对象切片的情况下工作,最终调用基类虚拟函数和维基百科文章,其解释虚拟下面代码的派生类的表格布局 class A { public: virtual void func(){cout ..
发布时间:2016-10-19 20:55:58 C/C++开发

C ++具有不同返回类型的相同函数参数

我需要找到一些方法来模拟C ++中的函数返回类型的重载。 我知道没有办法直接做,但我希望有一些开箱即用的方法。 我们正在为用户创建一个API,他们将传递一个数据字符串,该字符串根据字符串信息检索值。这些值是不同的类型。实质上,我们希望让他们这样做: int = RetrieveValue(dataString1); double = RetrieveValue(dataStri ..
发布时间:2016-10-19 20:45:02 C/C++开发

使用类变量与将本地变量发送到函数/方法

何时将局部变量作为参数推送到函数/方法,而不是使用类变量代替函数/方法变量。 例如,我可以有一个函数: int DoSomething(int var) { if(var == -1) return 0; } 或者我可以有一个类变量“_var”函数,像这样: int DoSomething() { if(_var == -1) return ..
发布时间:2016-10-19 20:42:45 Java开发

成员函数隐藏自由功能

void foo(int) { } class X { void foo { } void bar() { foo(42); //错误:没有匹配的函数调用'X :: foo(int)' //注意:候选是: //注意:void X :: foo b $ b //注:候选期望有0个参数,1提供 } };为什么C ++无法调用自由函数(这是唯一具有正确签名的函 ..
发布时间:2016-10-19 20:09:30 C/C++开发

编译器内联函数有多深?

说我有一些函数,每个约两个简单的代码,并且他们这样调用: A 调用 B 调用 C 调用 D ...调用 K 。 (因此基本上是一系列长的函数调用。)编译器通常在调用树中如何深入到内联这些函数? 解决方案 这个问题没有意义。 如果你想到内联及其后果,你会意识到: 避免函数调用(所有寄存器保存/帧调整) 向优化器暴露更多上下文 $ b 重复代码(膨胀指令缓存和可执行文件大小等 ..
发布时间:2016-10-19 20:00:23 C/C++开发

c ++:带有任意签名的std :: function的std :: vector

可以创建一个 std :: vector ,它可以包含任何签名的 std :: function ? (函数参数都将被预先绑定。) 我尝试了 std :: vector > ,因为如果我只有一个 std :: function ,我可以绑定任何函数。 这似乎在一个向量内部不起作用:如果我试图添加一个函数 std :: bind 除 ..
发布时间:2016-10-19 19:50:59 C/C++开发

调用不同类的成员函数与另一个类

我有两个类A和B.控制是在类A的成员函数之一。成员函数计算结果,我现在想要发送此值到类B的成员函数之一,我试过下面的方式,但它dint工作 int memberFunctionOfA() { ... //结果存储在一些临时值,说temp B :: memberFunctionOfB(temp); //我尝试的方式 } comiler报告错误。我也试过像 ..
发布时间:2016-10-19 19:32:56 C/C++开发

C ++:具有可变数量参数的函数的函数指针

我试图找出一个方法,如何能够分配一个函数指针到具有不同数量的参数的函数。 我有一个while循环,它接受一些不同的函数作为一个条件语句,所以,而不是写多个while循环与完全相同的代码里面我想有一个带有一个函数指针。所有的函数都是格式 bool f(...)。我认为一些代码将最好地说明我的意思: int a,b,c,d; MyClass * my_class; typed ..

指向const成员函数typedef的指针

我知道可以单独创建一个成员函数的指针,像这样 struct K {void func }}; typedef void FuncType(); typedef FuncType K :: * MemFuncType; MemFuncType pF =& K :: func; 有类似的方法来构造一个指向const函数的指针吗?我试着添加const在各个地方没有成 ..
发布时间:2016-10-17 10:40:03 C/C++开发

函数指针说明

我有一个理解一些C ++语法结合函数指针和函数声明的问题,即: 通常当我们声明一个类型的函数类似: typedef void(* functionPtr)(int); 这对我来说很好。从现在开始,functionPtr是一个类型,它代表 指向函数的指针,返回void并以一个值作为参数接受int。 它如下: typedef void(* funct ..
发布时间:2016-10-17 10:39:28 C/C++开发