小编Sea*_*Ian的帖子

函数指针的赋值(有效的c ++项目35)

有效的c ++,第35项中,作者通过函数指针介绍了策略模式.具体在第172页

class GameCharacter; 
int defaultHealthCalc(const GameCharacter& gc);
class GameCharacter {
public:
  typedef int (*HealthCalcFunc)(const GameCharacter&);
  explicit GameCharacter(HealthCalcFunc hcf = defaultHealthCalc)//why not &defaultHealthCalc?
  : healthFunc(hcf)
  {}
  int healthValue() const
  { return healthFunc(*this); }
  ...
private:
  HealthCalcFunc healthFunc;
};
Run Code Online (Sandbox Code Playgroud)

在第六行,为什么赋值函数指针HealthCalcFuncdefaultHealthCalc不是&defaultHealthCalc

c++ function-pointers effective-c++

5
推荐指数
1
解决办法
164
查看次数

标签 统计

c++ ×1

effective-c++ ×1

function-pointers ×1