【问题标题】:Literal for ranges in C++11 [duplicate]C ++ 11中范围的文字[重复]
【发布时间】:2017-08-11 12:44:44
【问题描述】:

如果我有这个:

for (auto iSong = 1; iSong <= iMaxSongNumber; iSong++)

我可以使用新的for range 方法吗?

我知道对于容器,他们需要 beginend 方法才能工作。但是如果我们有文字最大值呢?

【问题讨论】:

  • 范围不是 C++11 原生的,但有一些库可以创建它们(并且可以用于例如范围 for 循环)。
  • 也许尝试包括 ;)
  • @KubaWyrostek 什么是 texas.h
  • 很抱歉,在 c++ 中期待“游侠”并不是那么聪明的玩笑。
  • @KubaWyrostek ROTFL

标签: c++11 for-loop for-range


【解决方案1】:

没有内置机制可以做到这一点:基于范围的for 可以用于可以调用beginend 的东西。

我写了一篇关于如何做到这一点的博文:https://www.justsoftwaresolutions.co.uk/cplusplus/generating_sequences.html

基本上,您需要创建一个“虚拟容器”,其中包含更新计数的迭代器。

【讨论】:

  • 感谢您提供的信息。我认为为了我的需要而付出努力是不值得的。如果有开箱即用的东西......另外,在我的情况下,我还需要 1 声明索引而不是基于 0。不过还是谢谢你。我会接受这个答案。
  • 从博文链接到的最终代码允许基于 1 的索引。 justsoftwaresolutions.co.uk/files/numeric_range.cpp
猜你喜欢
  • 2016-05-31
  • 2012-10-11
  • 1970-01-01
  • 2012-02-18
  • 2013-06-18
  • 1970-01-01
  • 2012-08-21
  • 1970-01-01
  • 2011-02-27
相关资源
最近更新 更多