C/C++ 98标准/C++03标准 意思完全一样:auto被解释为一个自动存储变量的关键字,也是申明一块临时的变量内存。auto的出现意味着,当前变量的作用域为当前函数或代码段的局部变量,意味着当前变量会在内存栈上进行分配。 平时的double a=10.5;其实相当于auto double a = 10.5;作用域在整个函数体中。 C++11标准 C++11引入auto类型说明符,用它能实现让编译器替我们分析表达式所属的类型。auto让编译器通过初始值来推算变量的类型。显然,auto定义的变量必须有初始值。11 比如,auto Sum =a1+a2;若a1、a2是float类型,则Sum的类型是float;若a1、a2是某个类的对象,则Sum也为该类的对象; 使用auto也能在一条语句声明多个变量,但是基本数据类型必须相同,如: auto i=0,*p=&i; //正确,i是整数,p是整形指针 auto sz=0,pi=3.14; //错误,sz和pi类型不一致