C++迭代器语法

d4r*_*lo5 -2 c++ syntax

我对用于实例化迭代器的C++语法感到困惑,(对于列表),

std::list<C++ class object>::iterator iterator_name;
Run Code Online (Sandbox Code Playgroud)

std::list之前的内容是什么::iterator,这是否意味着iterator在名称空间list中定义std

很抱歉,如果这个问题显而易见或微不足道,但我终于说服自己更多地使用"std",现在我发现一些语法有点令人困惑.

Ili*_*llo 8

它是会员类型.的std::list模板类是(概念上)定义如下:

template<typename T>
class list {
public:
    using iterator = /* some implementation-dependent type */
};
Run Code Online (Sandbox Code Playgroud)

因此,无论您使用的是标准库实现的,你知道,对于一些T,std::list<T>::iterator是实现列表迭代器的类型的别名.