搜索

首页  >  问答  >  正文

c++11 - C++中如何定义一个指向函数的智能指针?

如题。定义一个内置类型比如int型的智能指针可以 shared_ptr<int>这样定义,但不知道如何定义一个指向函数的智能指针。

大家讲道理大家讲道理2806 天前941

全部回复(1)我来回复

  • 阿神

    阿神2017-04-17 13:09:49

    #include <stdio.h>
    #include <memory>
    
    typedef void (*Fn)(void);
    
    void Foo() {
      printf("hello world");
    }
    
    int main() {
      std::shared_ptr<Fn> ptr(new Fn(Foo));
      (*ptr)();
      return 0;
    }

    PS: C++11里面有function, 所以一般不用函数指针

    回复
    0
  • 取消回复