我阅读是为了一个基于范围的for循环:
如果范围类型有名为begin的成员和名为end的成员,则使用成员解释。无论成员是类型、数据成员、函数还是枚举数,无论其可访问性如何,都会执行此操作。因此,像class meow { enum { begin = 1, end = 2}; /* rest of class */ };这样的类不能与基于范围的for循环一起使用,即使存在命名空间范围的begin成员解释是怎么做的,从而禁止在<em
让我们看看以下基于for循环的简单范围: for (auto & i : {a, b}) std::cout << i << std::endl}
gcc抱怨assignment of read-only reference 'i',这意味着与初始化器列表一起使用的基于范围的for循环隐式地向引用添加了一个const限定符,这完全是无缘无故的。在基于for