访问

c_cpp
阅读 65 收藏 0 点赞 0 评论 0

c_like.cpp
for (int i = 0; i < vec.size(); i++) {
	cout << vec[i] << " ";
	// vec.at[i]
}
cout << endl;
for_auto.cpp
for (auto val : vec) {
	cout << val << " ";
}
for_iterator.cpp
// use begin() and end()
for (vector<int>::iterator iter = vec.begin(); iter != vec.end(); iter++) {
	cout << *iter << " ";
}
cout << endl;

// use cbegin() and cend()
for (vector<int>::const_iterator iter = vec.cbegin(); iter != vec.cend(); iter++) {
	cout << *iter << " ";
}
cout << endl;
/*
 * The iterator returned by vector::cend cannot be used to modify the contents it points to, even if the vector object is not itself const.
 * vector<int>::iterator iter1 = vec.begin();
 * (*iter1)++; // Pass
 * vector<int>::const_iterator iter2 = vec.cbegin();
 * // (*iter2)++; // Error: expression must be a modifiable lvalue
 */

// use auto
for (auto iter = vec.cbegin(); iter != vec.cend(); iter++) {
	cout << *iter << " ";
}
cout << endl;
for_each.cpp
#include <algorithm>
void print(const int& val) {
	cout << val << " ";
}
for_each(vec.begin(), vec.end(), print);
for_each_lambda.cpp
for_each(vec.cbegin(), vec.cend(), [](const int& val)->void { cout << val << " "; });
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号