关闭

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

发表于:2015-8-04 09:25

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:Patrick_Liu    来源:51Testing软件测试网采编

  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类型不一致
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号