C++有一句typedef没看懂 2C

是用于工厂类的,部分上下文是这样的:

typedef ActorComponent *(*ActorComponentCreator)(void);
typedef std::map<std::string, ActorComponentCreator> ActorComponent CreatorMap;

第一句我能看懂,但是第二句为什么后面还有个ActorComponent?这句的意思难道不是把那个map命名为CreatorMap么?

c++

5个回答

ActorComponent 是map<> 变量名

以上写法有问题,lz不要错误的理解了。

第一个是代表一个函数,如果去掉第一个*,那么他就是函数指针。

第二个应该就是一个比较器

CreatorMap 就相当于 std::map ActorComponent

std::map ActorComponent 定义了一个map,后面起了个别名

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐