【问题标题】:Typedef a container of function pointerstypedef 一个函数指针的容器
【发布时间】:2010-08-24 15:07:09
【问题描述】:

简单的问题;现在我有这样的东西:

typedef void(*MyFunctionPointer)(int);
typedef std::vector < MyFunctionPointer > MyFunctionPointerContainer;

但是,我想在一行中 typedef 这个容器,跳过第一个 typedef,我该怎么做呢?

【问题讨论】:

  • 问题 - 为什么?这是为了混淆视听比赛吗?
  • 要保存一行代码吗?两个 typedef 看起来好多了。
  • EboMike:我只是想知道。

标签: c++ function-pointers typedef


【解决方案1】:
typedef std::vector < void(*)(int) > MyFunctionPointerContainer;

【讨论】:

  • 该死的!比我快 4 秒; +1 和核对我的副本。
  • +1,但我仍然会使用 typedef,因为我更愿意写 for( MyFunctionPointerContainer::iterator it = ... ) 而不是 for( std::vector &lt; void(*)(int) &gt;::iterator it = ...)
  • typedef MyFunctionPointerContainer::iterator MyFunctionPointerIterator; 也可以...
  • 使用新的 C++0x auto 关键字,这将是一个有争议的问题,并且是为这些类型的复杂类型类型定义的。
猜你喜欢
  • 2011-05-16
  • 1970-01-01
  • 2011-01-10
  • 1970-01-01
  • 2020-01-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多