【发布时间】:2015-03-01 00:09:08
【问题描述】:
我需要在一个范围内调用每个 int 的 lambda。有没有标准算法可以做到这一点?
理想情况下是等效的:
for(auto i = 13; i < 42; ++i)[](int i){/*do something*/}(i);
【问题讨论】:
-
是否使用 Boost 选项?
-
@Praetorian 我的意思是这可能是一个解决方案。不过,我希望 C++ 标准中有一些东西。
-
运气好的话,范围很快就会成为标准,然后数字范围将由
view::iota(13, 41)之类的东西表示 -
@JonathanMee,这是我所拥有的最好的,但我不确定是否有计划改变它:open-std.org/jtc1/sc22/wg21/docs/papers/2014/n4128.html。无论如何,作为一个答案,在 TS 被采用或接近那个点之前,我不会指望它是最有用的。
-
@JonathanMee,如果您对此感兴趣,可以在 Eric Niebler 的网站上找到更多信息。范围内容似乎真的开始围绕November, 2013。
标签: c++ algorithm for-loop range standard-library