C++ auto 基本用法

356 阅读1分钟

总述:
auto的原理就是根据后面的值,来自己推测前面的类型是什么。

auto的作用就是为了简化变量初始化,如果这个变量有一个很长很长的初始化类型,就可以用auto代替。

注意点:

  1. 用auto声明的变量必须初始化(auto是根据后面的值来推测这个变量的类型,如果后面没有值,自然会报错)
  2. 函数和模板参数不能被声明为auto(原因同上)
  3. 因为auto是一个占位符,并不是一个他自己的类型,因此不能用于类型转换或其他一些操作,如sizeof和typeid
  4. 定义在一个auto序列的变量必须始终推导成同一类型
auto x1 = 5, x2 = 5.0, x3='r';  // This is too much....we cannot combine like this

示例:

std::vector<std::string> ve;
std::vector<std::string>::iterator it = ve.begin();

我们可以用atuo来代替那个初始化类型:

auto it = ve.begin();

此外,如果是可用迭代器的对象的话,还可以这样操作:

int main(){
    vector<int>v;
    v.push_back(1);
    v.push_back(2);
    v.push_back(3);
    for(auto i : v){
        cout<<i<<" ";
    }
    cout<<endl;
    return 0;
}

auto在这里就是简单的替换了int类型。

以上内容转载自c++ auto基本用法_lwgkzl的博客-CSDN博客_auto c++