I make the sample code in Item 35 be compiled. Add a line of code to use class directly. It is memo for me to remember it.
#include <tr1/memory>
#include <string>
#include <iostream>
#include <tr1/functional>
using namespace std;
class GameCharacter;
int defaultHealthCalc(const GameCharacter& gc);
class GameCharacter {
public:
typedef tr1::function<int (const GameCharacter&)> HealthCalcFunc;
explicit GameCharacter(HealthCalcFunc hcf = defaultHealthCalc)
: healthFunc(hcf)
{
}
int healthValue() const {
return healthFunc(*this);
}
private:
HealthCalcFunc healthFunc;
};
// function
short calcHealth(const GameCharacter& gc) {
}
// struct
struct HealthCalculator {
int operator() (const GameCharacter&) const {
}
};
// class
class GameLevel {
public:
float health(const GameCharacter& gc) const {
}
};
class EvilBadGuy: public GameCharacter {
public:
EvilBadGuy(HealthCalcFunc hcf) : GameCharacter(hcf) {
}
};
class EyeCandyCharacter: public GameCharacter {
public:
EyeCandyCharacter(HealthCalcFunc hcf) : GameCharacter(hcf) {
}
};
int main(int argc, const char *argv[]) {
EvilBadGuy ebg1(calcHealth);
EyeCandyCharacter ecc1(HealthCalculator);
GameLevel currentLevel;
EvilBadGuy ebg2(tr1::bind(&GameLevel::health,
currentLevel,
tr1::placeholders::_1)
);
// class is similar to struct
EvilBadGuy xx(GameLevel);
return 0;
}
分享到:
相关推荐
std::tr1现在已经广泛应用了,shared_ptr, function, bind, mem_fn, tuple都是很重要的工具。
IPD技术评审(TR1-TR6)知识分享IPD技术评审(TR1-TR6)知识分享IPD技术评审(TR1-TR6)知识分享IPD技术评审(TR1-TR6)知识分享IPD技术评审(TR1-TR6)知识分享
定位节点采用NA5TR1为无线定位节点的核心器件,该器件内部集成了具有双边两路测距功能的模块和2.45 GHz ISM RF收发器,利用ATmega644v单片机为控制器,完成无线定位节点的整体设计,并给出无线定位节点电路原理图。
TCT40-16TR1 压电陶瓷超声传感器(通用型) TCT40-16TR1 压电陶瓷超声传感器(通用型)
模块名称tr1 应用标题旅行要求 命名空间 UI5主题sap_fiori_3 UI5版本最新的 启用遥测真的 tr1 旅行要求 启动生成的应用 此应用程序是使用SAP Fiori工具套件中的SAP Fiori工具-App Generator生成的。 为了启动生成...
这是C++ TR1的官方report。里面详细的介绍了TR1新引入的一些类和库,非常的实用,讲解也比较详细。如果大家比较感兴趣TR1的话,可以下载《C++标准库扩展权威指南》这本书。
sony pcg-tr1c 无线网卡驱动
sony pcg-tr1c 声卡驱动,这个是原装的。 找了好久
C++ reference chm 参考手册(包含STL tr1等)
TR1——TR6产品开发各阶段评审要素说明.docx
TR1 的 ros_control硬件接口_C++_代码_相关文件_下载
安装顺序:Sony Shared Library → Sony Utilities DLL → Sony Notebook Setup → HotKey Utility → Power Panel
安装顺序:Sony Shared Library → Sony Utilities DLL → Sony Notebook Setup → HotKey Utility → Power Panel
安装顺序:Sony Shared Library → Sony Utilities DLL → Sony Notebook Setup → HotKey Utility → Power Panel
安装顺序:Sony Shared Library → Sony Utilities DLL → Sony Notebook Setup → HotKey Utility → Power Panel
n3tr1c1
安装顺序:Sony Shared Library → Sony Utilities DLL → Sony Notebook Setup → HotKey Utility → Power Panel
ESD静电管,保护复位电路,便于过EMC测试
G3tr1s是Tetris的另一个开源J2ME克隆。 完成级别配额以进入下一个级别。 当所有关卡都通过时,游戏结束,或者一个方块到达了方块的顶部。 各种统计信息都记录在高分表中。
M4TR1X工具包是一些有用的黑客工具的集合。 它是基于Web的,并且可以在Windows和Linux / Unix / BSD上运行。 lam0rs没什么!