是用于工厂类的,部分上下文是这样的:
typedef ActorComponent *(*ActorComponentCreator)(void);
typedef std::map<std::string, ActorComponentCreator> ActorComponent CreatorMap;
第一句我能看懂,但是第二句为什么后面还有个ActorComponent?这句的意思难道不是把那个map命名为CreatorMap么?
ActorComponent 是map<> 变量名
以上写法有问题,lz不要错误的理解了。
第二个应该就是一个比较器
第一个是代表一个函数,如果去掉第一个*,那么他就是函数指针。
CreatorMap 就相当于 std::map ActorComponent
std::map ActorComponent 定义了一个map,后面起了个别名