第二个for中 for (const int val : vec)是什么意思
bool Find(int target, vector<vector<int> > array) {
// 判断数组是否为空
if (array.size() ==0 || array[0].size() ==0) return false;
for (const auto& vec : array) {
for (const int val : vec) {
if (val == target)
return true;
}
}
return false;
}
好吧,C++的for_each的用法,你不用纠结了,用起来比较麻烦。你可以理解上面 for (const int val : vec) 是怎么使用的就好!
C++for_each的用法:
#include <iostream> // std::cout
#include <algorithm> // std::for_each
#include <vector> // std::vector
using namespace std;
void vecFunc(int i) {
cout << i << endl;
}
int main() {
vector<int> vec;
vec.push_back(1);
vec.push_back(2);
for_each (vec.begin(), vec.end(), vecFunc);
/*for (int var : vec) {
cout << var << endl;
}*/
return 0;
}
const int 是定义常量变量的意思,他紧紧是可读!
vec应该是一个动态数组vector,然后对其进行遍历,
for (const int val : vec)
就是将vec里面的数据一个一个的赋值给val,直到vec到最后为止。
不过一般不是使用for each的嘛,for循环不可以这样使用吧!
点个采纳吧!
如果还不懂,请看下面代码!
for each(const int val : vec)
相当于:
for (int i = 0; i < vec.size(); i++) {
const int val = vec.at(i);
}
参数定义为const表示该参数的值不能被循环语句内部的代码修改,val的值不能改变。即常量,在这个循环里面删除const也不影响。
您好,我是有问必答小助手,你的问题已经有小伙伴为您解答了问题,您看下是否解决了您的问题,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y
C和C++完整教程:https://blog.csdn.net/it_xiangqiang/category_10581430.html
C和C++算法完整教程:https://blog.csdn.net/it_xiangqiang/category_10768339.html