首页 > C++中如何定义一个指向函数的智能指针?

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

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


#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, 所以一般不用函数指针

【热门文章】
【热门文章】