搜尋

首頁  >  問答  >  主體

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

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

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

全部回覆(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
  • 取消回覆