摘要: bind() 和 lambda 表达式都可以实现类似的功能,在使用的时候有时候不知道选择哪一个。这里来做一个简单的总结。主要参考了一下的文章:http://stackoverflow.com/questions/1930903/bind-vs-lambdahttp://www.gockelhut.com/c++/articles/lambda_vs_bind1. bind() 在多层嵌套的时候会使代码非常难看懂(参见文章一)2. lambda 不支持“多态性”(其实就是泛型),需要在定义的时候指定参数类型3. lambda 运行速度会比bind() 函数快很多4. lambda 可以通过 .. 阅读全文
posted @ 2012-08-12 17:00 KingsLanding 阅读(2575) 评论(1) 推荐(0) 编辑
摘要: #include <random>#include <iostream>#include <functional> void f(int n1, int n2, int n3, const int& n4, int n5){ std::cout << n1 << ' ' << n2 << ' ' << n3 << ' ' << n4 << ' ' << n5 << &# 阅读全文
posted @ 2012-08-12 10:56 KingsLanding 阅读(1397) 评论(0) 推荐(0) 编辑
摘要: 复习effective C++ ,今天看到了"virtual 函数以外的其它选择",里面介绍了Strategy 模式的两种实现方式,也介绍了std::function 和 std::bind 函数等,结合这段时间学习的进行一个总结。首先还是先来回顾书上的内容:问题引入:一个游戏需要对其中人们生命值,健康状况进行监控计算,因此需要定义一个专门的函数,但是不同的人物的计算方式是不同的,也就是说这个函数需要不同的实现方式。可以使用多态,这是最基本的方法。实例:class GameCharacter {public:virtual int healthValue() const;/ 阅读全文
posted @ 2012-08-12 10:40 KingsLanding 阅读(907) 评论(0) 推荐(0) 编辑