关于c++模板的问题

Dloud 2015-01-14 10:22:37
请问
typename ProductCreator = AbstractProduct* (*)()

这句话是什么意思?看不懂后面的括号。
我是看的一个设计模式的代码的
地址在下面http://www.cnblogs.com/wanghui9072229/archive/2011/03/08/1976923.html#commentform
...全文
352 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
lincolnandlinda 2015-01-15
  • 打赏
  • 举报
回复
在C++11中,是这样 using creator=AbstractProduct* (*)()
yshuise 2015-01-15
  • 打赏
  • 举报
回复
typename ProductCreator = AbstractProduct* (*)() ========================================= AbstractProduct* (*)()是个函数,函数的返回类型是AbstractProduct指针。
pengzhixi 2015-01-15
  • 打赏
  • 举报
回复
AbstractProduct*是返回类型啊,AbstractProduct* (*)()这个是一个整体来着。
Dloud 2015-01-15
  • 打赏
  • 举报
回复
引用 2 楼 mujiok2003 的回复:
typedef AbstractProduct*  (*Creator)();

template < typename T = creator>
struct Foo{
};
这样有没有好点?
是不是相当于把ProductCreator重定义成AbstractProduct*指针?
Dloud 2015-01-15
  • 打赏
  • 举报
回复
引用 5 楼 yshuise 的回复:
typename ProductCreator = AbstractProduct* (*)() ========================================= AbstractProduct* (*)()是个函数,函数的返回类型是AbstractProduct指针。
哦哦,所以说这其实是定义了一个函数指针,函数的形式是AbstractProduct* (*Func)()
mujiok2003 2015-01-14
  • 打赏
  • 举报
回复
typedef AbstractProduct*  (*Creator)();

template < typename T = creator>
struct Foo{
};
这样有没有好点?
taodm 2015-01-14
  • 打赏
  • 举报
回复
C++2011标准引入的新语法。 相当于typdef,今天自己去搜C++11标准的介绍文档。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧