c++ auto用法,C++的auto

  c++ auto用法,C++的auto

  C 11中引入的Auto主要有两个用途:自动类型推断和返回值占用。在auto C 98中标识临时变量的语义在C 11中被删除了,因为它很少被使用并且是多余的。auto的前后两个标准完全是两个概念。

  1.自动类型推理

  自动类型推断用于从初始化表达式中推断变量的数据类型。auto的自动类型推断可以大大简化我们的编程工作。这里有一些使用auto的例子。

  #包含矢量

  #包含地图

  使用命名空间std

  int main(int argc,char *argv[],char *env[])

  //auto a;//错误,没有初始化表达式,所以无法推断A的类型。

  //auto int a=10;//错误,C 11中不再存在auto临时变量的语义,这是旧标准的用法。

  //1.自动帮助派生类型

  auto a=10

  auto c= A

  auto s( hello );

  //2.长类型

  map int,map int,int map _;

  map int,map int,int :const_iterator itr1=map_。begin();

  const auto itr2=map_。begin();

  自动指针=[]()

  STD:cout hello world STD:endl;

  返回0;

  //3.当使用模板技术时,如果变量的类型依赖于模板参数,

  //不使用auto将很难确定变量的类型(使用auto后,由编译器自动确定)。

  模板等级T,等级U

  无效乘法(T t,U u)

  auto v=t * u;

  2.返回值占用模板类型名T1,类型名T2

  自动撰写(T1 t1,T2 t2) - decltype(t1 t2)

  返回t1 t2

  auto v=compose(2,3.14);//v的类型是double

  3.使用注意事项

  我们可以用valatile,pointer(*),reference()和右值引用()来修改auto。

  auto k=5;

  auto * pK=new auto(k);

  auto** ppK=新汽车(

  const auto n=6;

  用auto声明的变量必须初始化。

  auto m;//m应该初始化

  auto不能与其他类型的组合一起使用。

  auto int p;//这是老汽车做的。

  函数和模板参数不能声明为auto。

  void my function(auto parameter){ }//没有auto as方法参数

  模板自动测试//完全没有意义-不允许

  void Fun(T t){}

  在堆上定义的变量,使用auto的表达式必须初始化。

  int * p=new auto(0);//好吧

  int * PP=new auto();//应该初始化

  auto x=new auto();//Hmmm.没有初始化器

  auto * y=new auto(9);//好吧。这里y是一个int*

  auto z=new auto(9);//好吧。这里z是一个int*(它不仅仅是一个int)

  我认为auto是占位符,不是自己的类型,所以不能用于类型转换或者其他操作,比如sizeof和typeid。

  int value=123

  auto x2=(自动)值;//不使用自动强制转换

  auto x3=static_cast auto(值);//同上

  自动序列中定义的变量必须始终派生为相同的类型。

  auto x1=5,x2=5.0,x3= r//这太过分了.我们不能这样结合

  auto不能自动派生成CV-限定符(常量可变限定符),除非它被声明为引用类型。

  const int i=99

  auto j=I;//j是int,而不是const int

  j=100 //好吧。因为j不是常数

  //现在让我们试着参考一下

  auto k=I;//现在k是const int

  k=100//错误。k是常数

  //类似地,使用可变限定符

  auto除非声明为引用,否则会退化为指向数组的指针。

  int a[9];

  auto j=a;

  cout typeid(j)。name()endl;//这将打印int*

  auto k=a;

  cout typeid(k)。name()endl;//这将打印int [9]

郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。

相关文章阅读

  • office2010激活密钥大全 怎么永久激活office2010
  • project2010产品密钥免费_project2010激活密钥永久激活码
  • c语言调用退出函数 c语言退出整个程序怎么写
  • c语言中怎么给函数初始化 c语言的初始化语句
  • c语言编写函数计算平均值 c语言求平均函数
  • chatgpt是什么?为什么这么火?
  • ChatGPT为什么注册不了?OpenAI ChatGPT的账号哪里可以注册?
  • OpenAI ChatGPT怎么注册账号?ChatGPT账号注册教程
  • chatgpt什么意思,什么是ChatGPT ?
  • CAD中怎么复制图形标注尺寸不变,CAD中怎么复制图形线性不变
  • cad中怎么创建并使用脚本文件,cad怎么运行脚本
  • cad中快速计算器的功能,cad怎么快速计算
  • cad中快速修改单位的方法有哪些,cad中快速修改单位的方法是
  • cad中心点画椭圆怎么做,cad轴测图怎么画椭圆
  • CAD中常用的快捷键,cad各种快捷键的用法
  • 留言与评论(共有 条评论)
       
    验证码: