基于范围的for循环能否与常量整数值一起使用(C++11)

基于范围的for循环能否与常量整数值一起使用(C++11),c++11,for-loop,foreach,C++11,For Loop,Foreach,所以我的问题很简单,像这样的东西能起作用吗 int size = 100; for(int i : size) // bla 如果没有,你能简要解释一下原因吗?不,那不行。数字不是一个范围。如何定义begin100或end100,这是基于范围的for循环内部调用的内容 我猜你会想把它作为从0到99的循环的简写。但是,为什么不从-2147483648或其他std::numeric_limits::min中选择一个来实现99呢?不,这不起作用。数字不是一个范围。如何定义begin100或end

所以我的问题很简单,像这样的东西能起作用吗

int size = 100;
for(int i : size)
  // bla

如果没有,你能简要解释一下原因吗?

不,那不行。数字不是一个范围。如何定义begin100或end100,这是基于范围的for循环内部调用的内容


我猜你会想把它作为从0到99的循环的简写。但是,为什么不从-2147483648或其他std::numeric_limits::min中选择一个来实现99呢?

不,这不起作用。数字不是一个范围。如何定义begin100或end100,这是基于范围的for循环内部调用的内容

我猜你会想把它作为从0到99的循环的简写。但是为什么不从-2147483648或任何std::numeric_limits::min中选择一个来实现99呢?

不,这不起作用

基于范围的循环仅适用于集合,而int不是

此外,如果将其与normalfor循环进行比较,其中是初始化i=0语句,比较iNo,则这将不起作用

基于范围的循环仅适用于集合,而int不是

此外,如果要将其与normalfor循环进行比较,其中是initialization i=0语句和comparison iNo。基于范围的for循环用于迭代集合,而不是任意范围。使用for、while或do-while可以实现对一系列值运行循环。 如果您需要这样的循环,对于常规活动,可以通过简单地编写一个函数、一个宏来实现,该宏可以采用函数、functor或lambda。

否。基于范围的for循环用于迭代集合,而不是一些任意范围。使用for、while或do-while可以实现对一系列值运行循环。
如果您需要这样的循环,对于常规活动,只需编写一个函数、一个宏即可实现,该函数、宏可能包含函数、函子或lambda。

否,您希望它做什么?int不是集合。。。具体来说,它没有开始和结束成员函数,这是基于范围的循环工作的要求。也许你想要像?@Nate Kohl这样的函数,这太完美了,谢谢!不,你希望这能做什么?int不是集合。。。具体来说,它没有开始和结束成员函数,这是基于范围的循环工作的要求。也许你想要像?@Nate Kohl这样的函数,这太完美了,谢谢!