关于C/C++中的“auto”

Jewel ·
更新时间:2024-09-20
· 678 次阅读

  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类型不一致



C++ c+ auto

需要 登录 后方可回复, 如果你还没有账号请 注册新账号