当前位置 博文首页 > KOOKNUT的博客:C++11新标准之范围for语句

    KOOKNUT的博客:C++11新标准之范围for语句

    作者:[db:作者] 时间:2021-07-02 18:35

    说起for语句,我们都不会陌生,因为在循环中经常会用for语句来遍历一些数组什么的,就形如以下的for循环,是我们最常见的:

    	for (int i = 0; i < 5; i++)
    	{
    		cout << i << endl;
    	}
    

    范围for语句可以遍历容器或者其他序列的所有元素。以下用一个小小的代码测试片段说明一下这个新特性的使用方法:

        /*传统写法,遍历每个string类型的字符*/
    	string str("hello world");
    	for (int i = 0; i < str.size(); i++)
    	{
    		cout << str[i] << endl;
    	}
    

    在这里插入图片描述

    	/*范围for循环*/
    	string str("hello world");
    	for (auto c : str)
    	{
    		cout << c << endl;
    	}
    

    在这里插入图片描述
    由以上两个图可以看到,输出的结果是一样的,但是for循环的用法却是不同的,第二种写法显然更便捷,也可以有效防止数组越界。因为c++对于标准库中这些类型,并不会检验下标是否合法,一旦使用了一个超出范围的下标,会产生不可预知的后果。所以使用新标准的范围for循环,对于安全性应该也是更好的。

    “秋风萧瑟天气凉,草木摇落露为霜,群燕辞归雁南翔。”—曹丕《燕歌行》

    cs
    下一篇:没有了