for循环语句

时间:2015-04-30 15:09:25

标签: c++ c++11

我有一堂课,比如:

class A : std::queue<double>
{
  [...]

  void foo();
};

在foo()里面我想迭代它的元素,但我似乎无法正确理解语法。

我认为它类似于:for(auto elem : *this) {},但它不起作用(一长串编译器错误)。什么是正确的语法?

1 个答案:

答案 0 :(得分:1)

queue不能直接迭代,但它有一个受保护的成员c,它是底层容器。因此,这适用于您的情况:

for( auto elem : c ) { ... }

Live example