delay-slot-1.c
来自「用于进行gcc测试」· C语言 代码 · 共 112 行
C
112 行
/* PR rtl-optimization/23585 *//* Testcase by Matti Rintala <matti.rintala@iki.fi> *//* { dg-do run } *//* { dg-options "-O2" } */template <class _Ret, class _Tp>class const_mem_fun_t{public: explicit const_mem_fun_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) {} _Ret operator()(const _Tp* __p) const { return (__p->*_M_f)(); }private: _Ret (_Tp::*_M_f)() const;};template <class _Ret, class _Tp>class const_mem_fun_ref_t{public: explicit const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) : _M_f(__pf) {} _Ret operator()(const _Tp& __r) const { return (__r.*_M_f)(); }private: _Ret (_Tp::*_M_f)() const;};template <class _Ret, class _Tp, class _Arg>class const_mem_fun1_t{public: explicit const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) {} _Ret operator()(const _Tp* __p, _Arg __x) const { return (__p->*_M_f)(__x); }private: _Ret (_Tp::*_M_f)(_Arg) const;};template <class _Ret, class _Tp, class _Arg>class const_mem_fun1_ref_t{public: explicit const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) : _M_f(__pf) {} _Ret operator()(const _Tp& __r, _Arg __x) const { return (__r.*_M_f)(__x); }private: _Ret (_Tp::*_M_f)(_Arg) const;};template <class _Ret, class _Tp>inline const_mem_fun_t<_Ret, _Tp>mem_fun(_Ret (_Tp::*__f)() const){ return const_mem_fun_t<_Ret, _Tp>(__f); }template <class _Ret, class _Tp>inline const_mem_fun_ref_t<_Ret, _Tp>mem_fun_ref(_Ret (_Tp::*__f)() const){ return const_mem_fun_ref_t<_Ret, _Tp>(__f); }template <class _Ret, class _Tp, class _Arg>inline const_mem_fun1_t<_Ret, _Tp, _Arg>mem_fun(_Ret (_Tp::*__f)(_Arg) const){ return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }template <class _Ret, class _Tp, class _Arg>inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const){ return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }class Klasse {public: void vf0c() const; void vf1c(const int&) const;};int main(){ Klasse obj; const Klasse& objc = obj; mem_fun(&Klasse::vf0c)(&objc); mem_fun(&Klasse::vf1c)(&objc, 1); mem_fun_ref(&Klasse::vf0c)(objc); mem_fun_ref(&Klasse::vf1c)(objc, 1); return 0;}void Klasse::vf0c() const{}void Klasse::vf1c(const int&) const{}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?