pmf5.c
来自「xml大全 可读写调用率很高 xml大全 可读写调用率很高」· C语言 代码 · 共 40 行
C
40 行
// { dg-do run }// Bug: g++ expanded b->member() multiple times, causing the optimizer to// decide that things weren't related and optimize 'die' into an infinite// loop.struct A { virtual ~A() { } void f (bool) { }};typedef void (A::*pmf_void)();typedef void (A::*pmf_bool)(bool);struct B { ~B() {} pmf_void member() const { return mbr; } pmf_void mbr;};A *a;B *b;void die (bool param) { pmf_bool pmf = (pmf_bool)(b->member()); (a->*pmf)(param);}int main (){ A a2; B b2; b2.mbr = reinterpret_cast<pmf_void>(&A::f); a = &a2; b = &b2; die (true);}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?