在循环中,通过*iter
来访问迭代器指向的元素的值,并将其输出到控制台上。
std::vector<int> v = {1, 2, 3, 4, 5};
// 使用auto关键字声明迭代器变量iter并初始化为v的起始位置
auto iter = v.begin();
// 使用迭代器遍历vector中的元素并输出
for (iter = v.begin(); iter != v.end(); ++iter) {
std::cout << *iter << " "; // 输出当前迭代器指向的元素的值
}//输出1 2 3 4 5
解引迭代器访问&更改元素:用解引用符来访问迭代器指向的内容
string s1("ABC");
for (auto it = s1.begin(); it != s1.end(); it++)
{
*it = tolower(*it);
}
cout << s1 << endl; // 输出“abc”
箭头运算符访问成员:通过箭头运算符,我们可以直接访问迭代器指向内容的成员,而不用先解引再访问
vector<string> v1{"hello", "hi"};
auto it = v1.begin();
// 下面两行代码的功能是一样的
cout << (*it).size() << endl; // 输出“5”
cout << it->size() << endl; // 输出“5”