在c ++中练习模板,函子,CallBack函数的问题?

时间:2010-05-07 19:25:54

标签: c++ templates callback functor

过去一周我一直在阅读模板,仿函数,回调函数,并推荐了一些好书和文章。

我觉得,除非我能够很好地练习 - 在模板中编程并使用函子 - 回调,否则我无法真正理解所有概念或在编码时流利地使用它们。

有人可以建议一些文章或书籍或网站,其中有问题的定义以及相同的解决方案。我可以为问题编写代码,稍后检查我的解决方案是否足够好。

我也知道我们的一些堆栈溢出成员是模板和回调函数的专家。如果他们能设计一个问题并发布一个解决方案会很棒,很多像我这样的模板初学者都可以从中受益。

2 个答案:

答案 0 :(得分:3)

我个人认为这是学习任何东西的错误方法。那些准备设置这类问题的人几乎肯定不会是那种技术专家。学习的最佳方法是找到对您来说很重要的现实问题,然后使用该技术解决问题,通过阅读文本和参考书籍,以及在此类网站上发布相关问题。

答案 1 :(得分:0)

一个很好的练习是用匿名仿函数替换命名函数。例如,而不是使用诸如

之类的谓词
bool is_overdrawn(const Account& account)
{
    return !account.is_balanced();
}

,您可以通过std::not1(std::mem_fun_ref(&Account::is_balanced))合成仿函数。