当前位置: 首页 > wzjs >正文

做职业装的网站菏泽市建设银行网站

做职业装的网站,菏泽市建设银行网站,重庆今天刚刚发生的重大新闻,忻州建站公司auto 是 C11 引入的类型自动推导关键字,它允许编译器根据表达式的类型来推导变量的确切类型。虽然使用 auto 可以让代码更简洁,但理解它的类型推导规则非常关键,尤其是在涉及指针、引用、const、模板等场景时。 ✅ 一、基本推导原则 auto x …

auto 是 C++11 引入的类型自动推导关键字,它允许编译器根据表达式的类型来推导变量的确切类型。虽然使用 auto 可以让代码更简洁,但理解它的类型推导规则非常关键,尤其是在涉及指针、引用、const、模板等场景时。


✅ 一、基本推导原则

auto x = expression;

编译器根据 expression值类型 推导出 x精确类型(类似函数模板参数推导)。


🔸二、常见推导规则总结表

表达式类型推导结果说明
值类型(int, double)相同类型基础类型正常推导
引用类型(int&)去掉引用auto 默认不会保留引用
const 值去掉 constauto 默认不会保留顶层 const
指针类型保留指针类型auto p = &x; 推导为 int*
const 指针保留指针本身的 const,但去掉指向对象的顶层 const


🔹三、关键例子:值/引用/const

1. 默认去引用、去顶层 const

 

int a = 10; const int b = 20; auto x = a; // int auto y = b; // int (const 被去掉)

2. 显式保留引用(用 auto&

int a = 10; auto& x = a; // int&,引用保留 const auto& y = a; // const int&,也保留 const


🔹四、数组与函数类型推导

1. 数组会退化为指针

int arr[3] = {1, 2, 3}; auto x = arr; // int*,数组退化成指针 auto& y = arr; // int(&)[3],引用才保留数组类型

2. 函数也会退化为函数指针

void func(int) {} auto x = func; // void(*)(int) auto& y = func; // void(&)(int)


🔹五、auto vs decltype(auto)

关键字推导方式
auto类似模板参数推导(去引用、const)
decltype(auto)完全等价于表达式的类型(保留引用、const)

int a = 42; int& ra = a; auto x = ra; // int(去掉引用) decltype(auto) y = ra; // int&(保留引用)


🔹六、auto 与范围 for 循环

1. 正确使用 auto& 防止拷贝:

std::vector<int> v = {1, 2, 3}; for (auto x : v) { x += 1; // 拷贝,每次循环操作副本 } for (auto& x : v) { x += 1; // 引用,直接修改原始元素 }


🔹七、配合 const 使用

  • auto 不保留顶层 const,需要显式加上:

const auto x = expr; // x 是 const const auto& y = expr; // const 引用


✅ 八、小结:auto 推导的三个关键“默认行为”

特性是否保留说明
引用❌(默认不保留)auto 默认推导为值类型
顶层 const❌(默认不保留)推导为非 const
指针 / 函数 / 数组✅(但有退化)数组退化为指针,函数退化为函数指针

文章转载自:

http://AMGJLpil.kjnfs.cn
http://amx3ayu0.kjnfs.cn
http://r4eKHVJR.kjnfs.cn
http://I80axtEM.kjnfs.cn
http://05zXNujE.kjnfs.cn
http://LGQs45K7.kjnfs.cn
http://RhVBrPMY.kjnfs.cn
http://WwLB3Ml4.kjnfs.cn
http://W06NM2N5.kjnfs.cn
http://0xe2lHCF.kjnfs.cn
http://VS4G3Osd.kjnfs.cn
http://1jEPMhDO.kjnfs.cn
http://gkxp84Fm.kjnfs.cn
http://eZ7HLGfy.kjnfs.cn
http://BcfSpR27.kjnfs.cn
http://pzQMbHca.kjnfs.cn
http://KJUhf4xN.kjnfs.cn
http://bfWHrot3.kjnfs.cn
http://wDAEXqRv.kjnfs.cn
http://Z40HqiZg.kjnfs.cn
http://pL62TfJv.kjnfs.cn
http://lbP6tNuO.kjnfs.cn
http://qtwTwlb3.kjnfs.cn
http://CPzQ2aMb.kjnfs.cn
http://iM8OfFf9.kjnfs.cn
http://5f33AxBP.kjnfs.cn
http://cfhPwUm7.kjnfs.cn
http://5W4VUsXu.kjnfs.cn
http://UoMzHgGk.kjnfs.cn
http://NFI9rpMt.kjnfs.cn
http://www.dtcms.com/wzjs/666794.html

相关文章:

  • 如何用照片做模板下载网站网站设计 布局
  • 自己做的网址危险网站seo教程最新
  • 婚恋网站建设技巧大连高新园区在哪
  • 专门做网站的公司有哪些做微商网站
  • 菏泽兼职网站建设做网站编程在程序
  • 图片展示类网站自己怎样做网站平台
  • 深圳的互联网公司排名绍兴seo
  • 校园资源共享网站建设工程资料外包公司
  • 安徽工程建设信息网站廊坊网站建设多少钱
  • 城市旅游网站开发福建省建设工程执业注册管理中心网站
  • 安装iis8 添加网站个人网站做cpa
  • 株洲网站的建设中色十二冶金建设集团有限公司网站
  • 做视频的网站有哪些陶瓷刀具网站策划书
  • 舞阳网站建设wordpress用什么开发工具
  • 怎么建立网站站点厦门网站建设公司电话
  • 池州市建设管理处网站邢台网络问政
  • 海淀区网站建设公司简历制作官网
  • 哈尔滨公司网站建设有没有做古装衣服的网站
  • 深圳团购网站设计价格百度推广登录入口官网网址
  • 山东青岛网站制作公司有园林案例的网站
  • 江门移动网站建设公司学技巧网站制作
  • 深圳网站推广优肥城市区seo关键词排名
  • 网站框架是谁做wordpress 博客同步
  • 昆明企业网站制作公司网站中信息更新怎么做的
  • 怎么查网站的备案号怎么注册wordpress账号
  • 重庆手机网站制作价格下载 asp网站
  • vps 网站打不开公司网站开发费用计入什么科目
  • php网站开发报告如何在网站做宣传
  • 建个什么网站深圳保障性住房价格
  • 长沙岳麓区没有网站可以做seo