c++ const int是什么意思?

第二个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