map<int, string>::iterator iter 和 map<int, string> iter 区别:
map<int, string>::iterator iter
- 是声明一个 迭代器,
- 这里的iterator是在template class map中声明的一个类,所以需要用 map<int, string>::iterator 来声名。
- 因为在global作用域里面找不到iterator的定义。map<int, string>用来指名iterator的作用域。
- iter是一个iterator类对象,iterator类是在map<int, string>类中定义的
- 所以如果要使用它,需要使用作用域解析操作符::
map<int, string> iter
- 是 声明一个map容器
- iter是一个map<int, string>类对象
- iter则是template class map的一个实例化的实例,其中第一个模板参数是int类型,第二个则是string。