遍历 string
- for 循环
//.size()
string str = "abcdefg";
for (int i = 0; i < str.size(); i++) {
cout << str[i] << ' ';
}
//.length()
for (int i = 0; i < str.length(); i++) {
cout << str[i] << ' ';
}
- 迭代器
string str = "abcdefg";
for (string::iterator it = str.begin(); it != str.end(); it++) {
cout << *it << ' ';
}
string str = "abcdefg";
for (auto it = str.begin(); it != str.end(); it++) {
cout << *it << ' ';
}
- 基于范围的循环
string str = "abcdefg";
for (auto ch : str) {
cout << ch << ' ';
}
遍历 vector
同string
- for 循环
vector<int> vec{0,1,2,3,4,5,6};
for (int i = 0; i < vec.size(); i++)
{
cout << vec[i] << ",";
}
- 迭代器
vector<int> vec{0,1,2,3,4,5,6};
for (vector<int>::iterator it = vec.begin(); it != vec.end() ; it++)
{
cout << *it << ",";
}
vector<int> vec{0,1,2,3,4,5,6};
for (auto it = vec.begin(); it != vec.end() ; it++)
{
cout << *it << ",";
}
- 基于范围的循环
vector<int> vec{0,1,2,3,4,5,6};
for (auto it: vec)
{
cout << it << ",";
}
遍历 map
- 迭代器
map<string, int> mp;
mp["张三"] = 20;
mp["李四"] = 18;
mp["王五"] = 30;
for (auto it = mp.begin(); it != mp.end(); it++) {
cout << it->first << " " << it->second << endl;
}
- C++11
map<string, int> mp;
mp["张三"] = 20;
mp["李四"] = 18;
mp["王五"] = 30;
for (auto it: mp) {
cout << it.first << " " << it.second << endl;
}
- C++17
map<string, int> mp;
mp["张三"] = 20;
mp["李四"] = 18;
mp["王五"] = 30;
for (auto [key
, val] : mp) {
cout << key << " " << val << endl;
}
文档信息
- 本文作者:Ziyue Qi
- 本文链接:https://www.qiziyue.cn/2023/02/14/CPP%E5%AD%A6%E4%B9%A0stl%E5%BA%931/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)