我对用于实例化迭代器的C++语法感到困惑,(对于列表),
std::list<C++ class object>::iterator iterator_name;
Run Code Online (Sandbox Code Playgroud)
std::list之前的内容是什么::iterator,这是否意味着iterator在名称空间list中定义std?
很抱歉,如果这个问题显而易见或微不足道,但我终于说服自己更多地使用"std",现在我发现一些语法有点令人困惑.
它是会员类型.的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是实现列表迭代器的类型的别名.