过去一周我一直在阅读模板,仿函数,回调函数,并推荐了一些好书和文章。
我觉得,除非我能够很好地练习 - 在模板中编程并使用函子 - 回调,否则我无法真正理解所有概念或在编码时流利地使用它们。
有人可以建议一些文章或书籍或网站,其中有问题的定义以及相同的解决方案。我可以为问题编写代码,稍后检查我的解决方案是否足够好。
我也知道我们的一些堆栈溢出成员是模板和回调函数的专家。如果他们能设计一个问题并发布一个解决方案会很棒,很多像我这样的模板初学者都可以从中受益。
答案 0 :(得分:3)
我个人认为这是学习任何东西的错误方法。那些准备设置这类问题的人几乎肯定不会是那种技术专家。学习的最佳方法是找到对您来说很重要的现实问题,然后使用该技术解决问题,通过阅读文本和参考书籍,以及在此类网站上发布相关问题。
答案 1 :(得分:0)
一个很好的练习是用匿名仿函数替换命名函数。例如,而不是使用诸如
之类的谓词bool is_overdrawn(const Account& account)
{
return !account.is_balanced();
}
,您可以通过std::not1(std::mem_fun_ref(&Account::is_balanced))
合成仿函数。