问题标签 [member-function-pointers]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 指向类成员的指针
我正在使用 Boost Spirit 解析器,当解析器正在解析时,语义动作会反映到 ParserActions 类的实例中。
这是解析器的代码(相关部分)
c++ - 什么类型可以保存 C++ 中不同类的成员函数指针?
我需要一个数组来保存不同类的成员函数指针。如何定义数组?
代码应如下所示:
我试过void*
了,但它不起作用。
c++ - 层次结构中的成员函数指针
我正在使用一个定义接口的库:
我有一个小的层次结构
在 的成员函数中derived
,我想调用
但似乎它&derived::foo
实际上是一个成员函数指针base
;gcc 吐出来
我可以通过显式转换this
为来解决这个问题base *
;但是为什么编译器不能匹配调用desttype = base
(因为derived *
可以隐式转换为base *
)?
另外,为什么不是 &derived::foo
成员函数指针derived
?
c++ - 指向成员函数的函数指针
这有几个重复,但没有人解释为什么我可以使用成员变量来存储指针(在FOO
)但是当我用局部变量(在的注释部分BAR
)尝试它时,这是非法的。有人可以解释一下吗?
c++ - 成员函数指针不太正确
我有一个模板化的 SpecialisedRedBlackTree 类。
我的月课不是。
在我的 Month 类中,我有一个私有成员,它是 SpecialisedRedBlackTree 的一个实例:
如您所见,它将采用 Day 类/对象(请以我弄错的任何术语纠正我)。
在我的 Month 类中,我有一个方法将方法函数指针传递给该方法:
但是因为我将 bool (Day, Day) 指针传递给期望 bool (T, T) 的模板类
T 是这个 .... 模板的一部分
有什么建议吗?
c++ - c++ 指向(成员?)函数的通用指针
我似乎无法声明指向函数的通用指针。
有这两个函数被调用:
这两个函数调用者:
当我尝试将它们与 boost::bind 一起使用来调用成员函数时,它们会给我编译错误。
这有效:
这不会:
这应该怎么做?
c++ - 在 C++ 中处理指向层次结构中成员函数的指针
我正在尝试对以下情况进行编码:我有一个基类,它提供了一个用于处理事件的框架。我正在尝试为此使用一组指向成员函数的指针。它如下:
然后用户应该从这个派生其他类并提供处理程序:
此代码无法编译,因为 DEH::func_t 无法转换为 EH::func_t。这对我来说很有意义。在我的情况下,转换是安全的,因为下面的对象this
实际上是 DEH。所以我想要这样的东西:
然后代替
在 DEH::DEH() 放
所以,最后的问题(花了我足够长的时间......):有没有办法EH::DEH_handle_event_5_wrapper
自动创建这些包装器(如)?或者做类似的事情?这种情况还有哪些其他解决方案?
谢谢。
c++ - 指向虚拟成员函数的指针在基类的构造函数中是否有效?
我的问题不是关于从基类构造函数调用虚成员函数,而是指向虚成员函数的指针在基类构造函数中是否有效。
鉴于以下
这会为所有兼容的 c++ 编译器生成“In B::vmember()”吗?
c++ - 指向成员函数、模板和继承混合的指针
我正在尝试创建一个通用的“回调”对象,它将保存任意数据并调用相关类的成员函数。由于内部政策,我不能使用 Boost。
回调对象如下所示:
它适用的课程:
以下测试按预期工作:
到现在为止还挺好。
但是,当同事尝试从Callback
类派生而不是使用 atypedef
时,由于指针不兼容,他们得到了编译错误:
我尝试在回调类中使用“奇怪的重复模板模式”并设法让派生类工作,但它破坏了使用该typedef
方法的代码。
我的问题是:
如何修改 Callback
该类以处理这两种情况,而不需要该类用户的额外工作?
c++ - 使用裸函数指针调用成员函数
如果您有一个对象和一个指向成员的裸函数指针,那么调用成员函数的最佳方法是什么?本质上我想用thiscall
调用约定来调用函数指针。
背景:我正在动态查找共享库中的符号,获取工厂函数指针和指向我要调用的某个成员函数的指针。成员函数本身不是虚拟的。我无法控制共享库,我只有二进制文件。
例子:
目前我正在使用union
将函数指针转换为指向成员函数的指针。它很丑陋,并创建了对编译器实现细节的依赖: