function相关内容

对函数的引用不明确

为什么会导致编译器错误,说明我的引用不明确?我有一个 float , int 和 string 所有创建单独的函数签名,对吗? 这里是我到目前为止: code> #include #include using namespace std; int plus(int a,int b); float plus(float a,fl ..
发布时间:2016-10-14 11:21:05 C/C++开发

对派生对象的C ++虚函数调用是否通过vtable?

在下面的代码中,它通过指向派生对象的指针调用虚函数foo。这个调用是通过vtable还是直接调用B :: foo? 如果它通过一个vtable,什么是C ++惯用的方式调用B :: foo直接? (我知道在这种情况下,我总是指向一个B) 非常感谢 A类 { public: virtual void foo(){} }; class B:public A ..
发布时间:2016-10-14 11:20:25 C/C++开发

从非const对象调用const函数

我需要从一个非const对象调用一个const函数。参见示例 struct IProcess { virtual bool doSomeWork()const = 0L; }; class Foo:public IProcess { virtual bool doSomeWork()const { ... } }; class Bar { public: c ..
发布时间:2016-10-14 10:42:50 C/C++开发

调用特定对象实例上的C ++函数指针

我有一个定义的函数指针: typedef void(* EventFunction)(int nEvent);有没有办法用一个C ++对象的特定实例来处理这个函数? class A { private: EventFunction handler; public: void SetEvent(EventFunction func){handler = func; ..
发布时间:2016-10-14 10:26:31 C/C++开发

如果一个函数返回一个int,可以分配一个int呢?

如果函数返回一个int,可以通过int值赋值吗?我不觉得给一个函数赋值太有意义了。 int f(){} f()= 1; $ b $ p 我注意到,如果函数返回一个int的引用,它只限于int吗?其他类型怎么样?或任何其他规则? int& f(){} f()= 1; 解决方案 第一个函数返回一个整数by-是 r值。通常不能将r值分配给r ..
发布时间:2016-10-14 10:21:12 C/C++开发

静态成员函数

阅读sbi和Eli Bendersky在这个问题我开始想知道什么是静态成员函数。 类的朋友自由函数应该不能做任何一个静态成员函数可以做什么? 解决方案 一般情况下: 需要访问私有成员 static成员函数可以访问类的私有成员。如果需要,可以使用静态成员函数。你必须在标题中声明它,让它访问,所以你可以使它成为一个成员,而不是一个朋友。对于具有作为singleton的getI ..
发布时间:2016-10-14 10:18:36 C/C++开发

将C ++函数导入Python程序

我现在正在试验python函数。我已经找到一种方法来将python函数导入到c / c ++代码中,但是没有其他方法。 我有一个c ++程序,它有一个特定的函数在里面。我想将编译好的c ++程序“导入”到我的python脚本并调用c ++函数。 为简单起见,说c ++函数很简单: / p> int square(x) { return x * x; } ..
发布时间:2016-10-14 10:12:23 C/C++开发

可选的函数参数:使用默认参数(NULL)或重载函数?

我有一个函数处理给定的向量,但也可以创建这样的向量本身,如果没有给出。 对于这种情况,我看到两个设计选择,其中一个函数参数是可选的: 指针,并使它 NULL 默认情况下: void foo ,std :: vector * optional = NULL){ if(optional == NULL){ optional = new std :: vector ..
发布时间:2016-10-13 12:19:20 C/C++开发

是否可以在C ++的运行时动态创建一个函数?

C ++是一种静态的编译语言,模板在编译时被解析等等... 但是可以在运行时创建一个函数,在源代码中没有描述,并且在编译期间没有被转换为机器语言,因此用户可以在源中抛出未预期的数据? 我知道这不可能发生在一个直接的方式,但肯定是必须是可能的,有很多的编程语言,没有编译和创建动态的那些东西在C或C ++实现。 也许如果创建所有原始类型的工厂以及合适的数据结构来将它们组织成更复杂的对 ..
发布时间:2016-10-13 12:07:35 C/C++开发

返回lambda表达式的函数

我想知道是否可以编写一个函数来返回一个lambda函数在C ++ 11。当然一个问题是如何声明这样的函数。每个lambda都有一个类型,但该类型在C ++中不可表达。我不认为这会工作: auto retFun() - > decltype([](int x) - > int) { return [](int x){return x; } } 也不是这样: ..
发布时间:2016-10-13 12:02:53 C/C++开发

比较std :: tr1 :: function<>对象

我一直在尝试在C ++中实现一个C#类的事件系统,使用tr1函数模板来存储处理事件的函数。 我创建了一个向量,以便可以将多个侦听器附加到此事件,例如: vector > listenerList; 我想从列表中删除一个处理程序,以停止监听器接收事件。 那么,我如何找到这个列表中对应于给定监听器的条目?我可以测试 ..
发布时间:2016-10-13 11:51:53 C/C++开发