C ++ 11中范围的文字[重复]

Posted

技术标签:

【中文标题】C ++ 11中范围的文字[重复]【英文标题】:Literal for ranges in C++11 [duplicate] 【发布时间】: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 【参考方案1】:

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

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

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

【讨论】:

感谢您提供的信息。我认为为了我的需要而付出努力是不值得的。如果有开箱即用的东西......另外,在我的情况下,我还需要 1 声明索引而不是基于 0。不过还是谢谢你。我会接受这个答案。 从博文链接到的最终代码允许基于 1 的索引。 justsoftwaresolutions.co.uk/files/numeric_range.cpp

以上是关于C ++ 11中范围的文字[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Typescript 的对象文字中定义“任何”数组? [复制]

为啥 C11 或 C++11 中没有 ASCII 或 UTF-8 字符文字?

如何将整数“范围”放入 OWL 文字值中?

C++11中是不是需要u8字符串文字

了解 C++ -“字符文字”与“字符串文字”[重复]

_variant_t 范围指针的 C++ 文字自动化问题(AddPicture() 方法)