标签: c++ c++11
我有一堂课,比如:
class A : std::queue<double> { [...] void foo(); };
在foo()里面我想迭代它的元素,但我似乎无法正确理解语法。
我认为它类似于:for(auto elem : *this) {},但它不起作用(一长串编译器错误)。什么是正确的语法?
for(auto elem : *this) {}
答案 0 :(得分:1)
queue不能直接迭代,但它有一个受保护的成员c,它是底层容器。因此,这适用于您的情况:
queue
c
for( auto elem : c ) { ... }
Live example