更多教程笔记请查看我的上一篇文章:点击跳转

C++11自学之旅开始!

本次将介绍C++11里对比赛比较有用的:auto关键字

auto关键字可以自动的识别一个变量的类型并赋给另一个变量,类似于js中的var,auto的出现让代码中一些单词比较长的容器迭代器变成较短的变量,极大的提升了比赛中选手敲代码的速度,毕竟有些时候手速也能决定比赛的关键胜负。

auto的基本使用代码:

// auto的用法,自动识别变量类型,创建一个识别后的变量
#include <bits/stdc++.h>
using namespace std;
int main()
{
    vector<int> arr{1, 2, 3, 4, 5, 6, 0};
    for (vector<int>::iterator i = arr.begin(); i != arr.end(); ++i)
    {
        cout << *i << " ";
    }
    cout << endl;
    //上面等价于
    for (auto j = arr.begin(); j != arr.end(); ++j)
    {
        cout << *j << " ";
    }
    cout << endl;
    // auto在for循环中的用法
    string s = "ABCD ,Work ";
    string s2;
    //创建一个自动变量c,遍历s里面每一个字符
    for (auto c : s)
    {
        //如果c不等于标点符号与空格则插入另一个字符串
        if (!ispunct(c) && c != ' ')
        {
            s2.push_back(c);
        }
    }
    cout << s2 << endl;
    // int类型
    auto a = 1;
    //自动判断括号内的数据类型并赋值给b
    decltype(a) b = a;
    return 0;
}